Installation RBS Change : Problème template pour l'éditeur de texte
-
23/11/2010 16:18
Bonjour,
J'ai un petit souci avec mon template que je viens de créer (j'utilise la version 3.0.4).
J'ai essayé de suivre les étapes du wiki + la structure d'un gabarit mais rien à faire.
J'ai bien fait une partie <change:template content-type="html"> et une partie <change:template content-type="xul"> pour l'éditeur de texte.
J'ai juste repris les deux colonnes du template (de ce que j'ai compris on est pas obligé de reprendre à 100% toute la structure du thème pour la partie admin). J'utilise bien sûr les balises <hbox> et <vbox> en reprenant les ids des divs de mon template. Donc en théorie, dans l'éditeur il doit reprendre les largeurs que j'ai spécifié dans le fichier css ? J'ai vue qu'on pouvait également utiliser l'attribut flex, mais rien à faire les largeurs des blocs restent très étroites et donc impossible de faire quelque chose sur l'éditeur de texte. Je sais pas je dois peut-être vider le cache ? faire un theme.install ? J'ai peut-être sauté une étape. Merci d'apporter un peu de lumière à mon problème.
-
23584.2 en réponse à 23584.1 écrit par Steven Hartz
23/11/2010 21:08
Bonjour,
effectivement, pas besoin de reprendre tous les éléments du gabarits. Seuls les éléments permettant l'édition du contenu sont cruciaux.
en fixant les tailles des éléments (conteneur + colonnes) en pixels et en enlevant les float comme indiqué dans http://wiki.rbschang.....ur_l_editeur_de_page, vous devriez obtenir ce que vous souhaitez.
Les instructions CSS en question pourront être déclarées à part dans une feuille dédiée inclue seulement dans le contexte de l'éditeur de contenu de page, comme indiqué dans http://wiki.rbschang.....ion_de_feuilles_css, en utilisant l'extension ".xul.css". L'avantage quand c'est séparé c'est que le front n'influe pas sur l'admin et respectivement.
Au niveau des caches, de manière générale une modification des CSS demande un clear-webapp-cache, peut être est-ce juste ça. Il se peut aussi qu'un clear-simplecache soit nécessaire lors d'un changement de structure du template ; plus sûr sur cette partie.
En espérant avoir été clair ;)Édité par Alexandre Simon 23/11/2010 21:12
-
23584.3 en réponse à 23584.2 écrit par Alexandre Simon
24/11/2010 10:31
Bonjour,
Merci pour ce petit éclaircissement, mais malheureusement ça n'a pas résolu le problème.
J'ai fait un screenshot du résultat
et ci-dessous ce que j'ai mis pour la structure et sa feuille css<change:template content-type="xul"> <hbox id="main"> <vbox id="gauche"> <change:content id="menugauche"/> </vbox> <vbox id="droite"> <change:content id="content-block"/> </vbox> </hbox> </change:template>
et pour le xul.css:#main{ width:1064px; float:none; } #gauche{ float:none; width:285px; } #droite{ float:none; width:759px; }
je pense qu'on peut pas faire beaucoup plus simple.
Comme dit ça ne correspond pas trop à ce que je voudrais au niveau des largeurs. Si vous voyez une erreur ou si vous pouvez m'aiguiller un peu plus, ce serait gentil.
-
23584.4 en réponse à 23584.3 écrit par Steven Hartz
24/11/2010 10:38
Bonjour,
Il faut mettre des styles sur les éléments de change:content.
Chaque change:content a un id, cette id se retrouvera dans le code html au final, et pour le backoffice il faut lui spécifier également une taille.
On aurait donc ça dans la feuille css xul:#menugauche { width: 285px; } #content-block { width: 759px; }
-
J'avais déjà essayé ça, je viens de le refaire et ça ne change rien.
Pour résumer et pour être sûr que je n'ai rien oublié:
dans le dossier themes > webfactory > templates j'ai mon fichier tpl_exemple.xml avec dedans:<?xml version="1.0" encoding="UTF-8"?> <change:templates xmlns:change="http://www.rbs.fr/change/1.0/schema"> <change:template id="tpl_exemple" content-type="html"> <div id="main"> <div id="gauche"> <change:content id="menugauche"/> </div><!--fin gauche--> <div id="droite"> <change:content id="content-block"/> </div><!--fin droite--> <div id="basdepage"> </div> </div> <!--fin main--> </change:template> <change:template content-type="xul"> <hbox id="main"> <vbox id="gauche"> <change:content id="menugauche"/> </vbox> <vbox id="droite"> <change:content id="content-block"/> </vbox> </hbox> </change:template> </change:templates>
dans le répertoire themes > webfactory > style j'ai ma feuille de style normale tpl_exemple.css + la feuille de style tpl_exemple.xul.css
Dans cette dernière j'ai donc ce que j'ai mis plus haut + ce que j'ai rajouté de Telesphore Essique.
Je comprends pas du tout, je l'avais déjà fait avec la version 3.0.3 et je n'avais pas rencontré ce problème.
-
23584.6 en réponse à 23584.5 écrit par Steven Hartz
24/11/2010 11:45
mes fichiers de style pour le xul ont une extension .xul.all.css et non .xul.css mais je ne sais pas si cela peut avoir un impact.
essayez également de rajouter dans les styles des change:content les notions de min-width avec la même valeur -
J'ai changé l'extension en .xul.all.css, j'ai rajouté le min-width mais rien à faire. Comme s'il prenait pas en compte le fichier css alors que pour la partie frontend j'ai pas de soucis.
Vous êtes sur la version 3.0.4 également ?
Je vois pas ce que je peux faire d'autre pour l'instant. Pourtant j'ai bien suivi les tutos.
Ca peut venir de l'installation du thème ? Lancer un change.php theme.install ? modifier un fichier xml ? Est ce que les attributs flex fonctionnent chez vous ? A priori on peut les utiliser aussi mais chez moi ça ne fonctionne pas non plus.
-
23584.8 en réponse à 23584.7 écrit par Steven Hartz
24/11/2010 18:50
Il faut bien un fichier de style avec .xul.all.css comme extension, .xul.css ne sera pas pris en compte.
Avec les styles suivants:#main{ width:1064px; } #gauche{ width:285px; } #droite{ width:759px; } #menugauche { width: 285px; } #content-block { width: 759px; }
et le template suivant:<?xml version="1.0" encoding="UTF-8"?> <change:templates xmlns:change="http://www.rbs.fr/change/1.0/schema"> <change:template content-type="xul"> <hbox id="main"> <vbox id="gauche"> <change:content id="menugauche"/> </vbox> <vbox id="droite"> <change:content id="content-block"/> </vbox> </hbox> </change:template> </change:templates>
et sa déclaration dans le fichier xml d'install du thème: (je l'ai appelé test :))<pagetemplate byCodename="webfactory/tpltest" doctype="XHTML-1.0-Strict" useprojectcss="true" cssscreen="themes.webfactory.tpltest" />
il faut lancer la commande :change.php theme.install webfactory
pour que cela soit mis à jour.
ci vous n'avez pas ça à l'écran : Update: /<chemin>/themes/webfactory/variables.ser
le template ne sera pas correctement installé, et le fichier css associé ne sera pas chargé.
j'ai fais le test sur un projet, j'obtiens bien un template éditable avec les 2 colonnes http://bit.ly/ftKhx7
Par contre, je ne vois pas trop l'intérêt de spécifier un template spécifique xul différent du template html. Il est rare que le template html ne fonctionne pas en xul, en général ce n'est que des styles à redéfinir pour le xul. Et cela permet de saisir son contenu dans une page qui ressemble fortement au front, ce qui est plus agréable, mais vous devez avoir vos raisons :)
En espérant que cela vous a aidé.Édité par teles 24/11/2010 18:50
-
Après avoir essayé de suivre vos conseils (merci d'avoir donné de votre temps) je ne toujours suis toujours pas arrivé au résultat escompté.
Alors je me suis inspiré des templates existants et en particulier le tplOneThreeColumns
et je me suis aperçu (ce qui pouvait paraître logique) qu'il fallait faire un @import url du fichier xul.all.css à la fin de la feuille css principale.
Après j'ai spécifié la largeur des change:content en utilisant width, min-width et max-width avec la même largeur (dans le fichier xul.all.css).
Pour finir voyant que mes colonnes se baladaient encore j'ai rajouté comme attribut à la div contenant le change:content un orient="vertival" (à mes deux colonnes) et un orient="horizontal" à la div qui englobe les deux colonnes.
Et maintenant ça fonctionne parfaitement (enfin ^^) sans utiliser <change:template content-type="xul">
-
23584.10 en réponse à 23584.9 écrit par Steven Hartz
25/11/2010 13:51
Oui, si le css xul n'est pas marqué comme à importer, il n'est pas pris en compte.
il n'y a qu'un fichier par défaut qui est chargé pour un template (celui définit dans la propriété csscreen du fichier d'install du thème), ensuite pour en charger d'autres il faut faire des @import et ces imports ne sont pris en compte que si le contexte est le bon. -
C'était le détail qui tue >_<' c'est bon à savoir pour la prochaine fois.