You are not logged in.
Bonjour,
J'ai un petit souci de compréhension.
Ici : http://monsite/fr/search.html#nav
Je viens de changer la CSS : /home/cmsweb/V3/site/WEB-INF/data/cache/plugins/web/resources/css/service/search.css
=> Pas de souci je vois bien mes modifications sur la page
Ici : http://monsite/cmsv3/live/default/fr/search.html#nav
Je viens de changer la CSS : /home/cmsweb/V3/cms/plugins/web/resources/css/service/search.css
=> Les modification ne sont pas prises en compte ... pourquoi ?
=> Dans firebug je vois bien l'appel au fichier mais celui-ci ne contient pas mes modifications
Merci pour votre aide
Cordialement,
Fabrice Falourd
Last edited by Fabrice Falourd (20/07/2011 10:54:52)
Offline
le 1er répertoire dont vous parlez est le cache de la skin coté "site web" de l'application : vous ne devez jamais le modifier, ça risque d'être écrasé à tout moment.
l'idée est la suivante :
toutes vos modifs de la skins doivent être faites coté "CMS" dans le répertoire skins
le live et le back utilisent ce répertoire
le front vient remplir son cache à partir de ce répertoire
par contre, actuellement ce cache n'est jamais effacé, donc vos modifs coté back ne sont pas répercutés automatiquement
la manoeuvre à opérer est donc :
1) faire vos modifs coté back
2) tester sur le live
3) une fois que c'est ok, effacer le répertoire de cache du front
Le problème, c'est que là vous cherchez à influer sur une CSS du noyau à laquelle vous n'avez pas accès !
il faut donc faire vos modifications dans une CSS de votre charte graphique (soit ajouter une nouvelle, soit ne plus appeler celle par défaut du noyau...)
Raphael Franchet
Expert Ametys
Offline
Comment ne plus appeler celle par défaut ? Car je ne vois pas de CSS qui appelle search.css !
Offline
On retombe sur votre autre thread concernant la surcharge des rendus des services.
L'idée est que c'est le rendu par défaut qui appelle cette CSS, il faut donc surcharger le rendu du service de recherche pour ne plus faire cet appel.
Le plus simple dans ce genre de cas, et de créer la nouvelle XSL de surcharge en commençant par importer l'existante, puis à surcharger uniquement les templates nécessaires
Vous pouvez "voir" l'acuelle ici
Raphael Franchet
Expert Ametys
Offline
OK je viens de créer search-criteria/search-criteria.xsl dans ma skin dans laquelle je vais chercher ma CSS "insa-search.css" qui est également dans ma skin.
Évidement le comportement n'a pas changé. C'est toujours search.css qui est chargé. Comment lui dire "Utilise search-criteria/search-criteria.xsl" pour qu'il charge "insa-search.css" ? J'ai raté un épisode ?
Offline
La première chose à vérifier est que votre XSLT est bien utilisée (et que vous ne l'avez pas mal placée par exemple)
Pour cela le mieux est de la mal-former est de vérifier que vous avez bien une erreur qui s'affiche dans le CMS
Pour la malformer vous pouvez mettre une balise xml non fermée : par exemple <foo>
Raphael Franchet
Expert Ametys
Offline
Pas d'erreur. Donc il n'utilise pas ma nouvelle XSL "search-criteria/search-criteria.xsl". Plan B ?
Offline
donnez moi le chemin complet de votre XSL
Raphael Franchet
Expert Ametys
Offline
voici un exemple d'un projet qui le fait chez moi
skins\*******\services\web\pages\services\search-criteria\search-criteria.xsl
Raphael Franchet
Expert Ametys
Offline
/home/cmsweb/V3/cms/skins/Insa/services/web/pages/services/search-criteria/search-criteria.xsl
Offline
Faut-il faire un stop/start du CMS ?
Offline
Non, ce n'est pas la peine de redémarrer
Par contre, la xsl dont on parle c'est celle du service "Critères de recherches"
Le service "Moteur de recherche" importe celle là pour la partie des critères, mais par contre, cet import lui ne vérifie pas si la XSL est surchargée...
c'est très compliqué à expliquer à distance
mais en gros, commencez par faire un test en vérifiant que votre service "Critères de recherche" déclenche bien l'erreur que vous avez inséré.
Raphael Franchet
Expert Ametys
Offline
Ok mais je ne vois pas comment tester que ma nouvelle XSL "Critères de recherche" déclenche bien une erreur depuis le rajout d'une balise non fermée !
Offline
Dans une page, sélectionnez une zone et ajoutez le service "Critères de recherche"
Raphael Franchet
Expert Ametys
Offline
Ok. J'ai bien l'erreur. Et maintenant ?
Offline
Donc maintenant ce qui vous interesse est de charter le service "Moteur de recherche", c'est la XSL suivante qu'il faut surcharger : skins/MYSKIN/services/web/pages/services/search/search.xsl
Mais donc, celle-ci pour son rendu utilise celle du critère de recherche, mais vous ne pouvez pas surcharger uniquement cette partie là.
Vous devez donc créer cette nouvelle xsl, dans laquelle vous importez DANS LE BON ORDRE la xsl de recherche du noyau et la xsl de critères de recherche de votre charte... et c'est compliqué d'expliquer pourquoi il faut faire ça
Donc pour résumer,
si la partie du code que vous voulez surcharger est dans le web dans search.xsl, il suffit de surcharger celle là, mais si c'est dans search-criteria.xsl, il faut
1) surcharger search-criteria.xsl et faire vos modifications (en important celle du noyau)
2) surcharger search.xsl et mettre ceci dedans uniquement
<xsl:import href="plugin:web://pages/services/search/search.xsl"/>
<xsl:import href="../search-criteria/search-criteria.xsl"/>
et dans ce cas votre service de moteur de recherche continuera d'utiliser la xsl du noyau mais en utilisant votre rendu des critères...
ouf !
Raphael Franchet
Expert Ametys
Offline
Tout simplement. Et en plus ça fonctionne
Merci
Offline