JoomlaFCK - Personnaliser la barre d'outilsMise à jour le Samedi, 20 Juin 2009 01:04 Écrit par Tr@nquille Lundi, 08 Juin 2009 13:48 Personnaliser la barre d'outils de JoomlaFCKpartant du principe de JommlaFCK est une adaptation pour Joomla de FCKEDitor, je suis allé voir comment personnaliser la barre d'outils de FCKEDitor. Après avoir suivi le tuto à la lettre, aucune modification n'est apparue sur cette barre, damned! Je suis ensuite aller voir sur le site JoomlaFCK en quête d'un tuto ou d'infos, mais je n'ai rien trouvé, juste une petite piste à propos d'un fichier jtoolbarsetconfig.xml. Voici dans ce document une méthode pour une barre d'outils JoomlaFCK, soit par l'ajout d'un bouton d'une barre vers une autre, soit carrément pour ajouter son propre bouton pointant sur son propre plugin. Organisation des barres d'outil dans JoomlaFCKLa première chose à repérer, c'est l'organisation de JoomlaFCK. Par rapport à FCKEditor qui permet de paramétrer des barres d'outils dans le fichier fckconfig.js ou son propre ficher de config, JoomlaFCK, lui, donne la possibilité de gérer les barres d'outils dans le fichier C'est donc sur ce fichier jtoolbarsetconfig.xml que l'on va travailler directement. Organisation du fichier des barres d'outil de JoomlaFCKjeu de barres d'outils:L'ensemble des barres d'outils est encadrée par une balise <toolbarsets></toolbarsets> Dans ce fichier il y a une deuxième balise dont je ne connais pas le sens mais que je paramètre par rapport à ce qu'il y a déjà dedans au cas où... <customplugins></customplugins> les barres d'outils:Chaque barre d'outils, est encadré par une balise: <toolbar name="Advanced"></toolbar> On commence à reconnaitre là les paramètres que l'on peut choisir au niveau de l'administration du plugin, à savoir le nom des barres d'outils, ici Advanced. Un second regroupement est fait avec une balise: <plugingroups></plugingroups> qui englobe dans le fichier d'origine la barre d'outils entière. Il serait intéressant de créer un second plugingroups dans une barre d'outils pour voir quel effet cela donne. Je teste donc en rajoutant un groupe plugingroups, avec un bouton About dedans:
<plugingroups>
<plugingroup>
<plugin name="About" acl="*"/>
</plugingroup>
</plugingroups>
mais finalement ça ne fait que rajouter le bouton à la suite de la barre d'outil, donc l'intérêt pour le moment n'est pas visible. Les groupes de boutons:Pour chaque barre d'outils, on va pouvoir regrouper plusieurs boutons ensembles. Pour ce faire, on utilise la balise: <plugingroup></plugingroup> attention à l'absence de pluriel ici. En observant la barre d'outils de joomlaFCK, on voit bien ce regroupement de boutons...
<plugingroup>
<plugin name="JustifyLeft" acl="*"/>
<plugin name="JustifyCenter" acl="*"/>
<plugin name="JustifyRight" acl="*"/>
<plugin name="JustifyFull" acl="*"/>
</plugingroup>
voilà, c'est très clair avec cet exemple... Le bouton proprement dit:Avec les explications précédentes, l'insertion du bouton saute aux yeux: <plugin name="About" acl="*"/> Voilà, on est maintenant paré pour créer, organiser, personnaliser sa propre barre d'outils. Simplement, on ne sait pas encore comment ajouter un bouton pointant vers son propre plugin dans une barre des barres d'outils. Dernier conseil: vider le cache du navigateur et recharger la page, sinon on ne voit rien changer Pour travailler correctement, j'utilise un navigateur spécialement paramétré (Internet explorer, puisque je ne l'utilise pas par ailleurs) pour aller toujours récupérer la page demandée sans jamais la prendre dans le cache. Ainsi, à chaque rafraichissement d'une page, j'ai la nouvelle version sans avoir besoin de nettoyer le cache. Ajouter un bouton d'une barre d'outil vers une autreNous allons travailler sur la barre Advanced. J'ai repéré sur la barre Creative un bouton intéressant, un pagebreak. Je vais l'ajouter à la barre Advancer que j'utilise. <plugin name="PageBreak" acl="*"/> et je le colle dans un groupe à côté du bouton 'Séparateur' qui crée une ligne horizontale, comme ceci:
<plugingroup>
<plugin name="ImageManager" acl="*"/>
<plugin name="Image" acl="*"/>
<plugin name="Flash" acl="*"/>
<plugin name="Spacer"/>
<plugin name="Table" acl="*"/>
<plugin name="Rule" acl="*"/>
<plugin name="PageBreak" acl="*"/>
</plugingroup>
Vidage du cache, rafraichissement, et voilà. Notez au passage le plugin Spacer, qui devrait insérer un espace entre deux boutons, mais qui ne semble pas faire grand-chose chez moi... Ajouter un groupe de bouton, enlever un groupe de bouton etcMaintenant que la structure du fichier est claire, il est facile de manipuler tout ça. Pour enlever un groupe de bouton, il suffira de repérer la balise l'encadrant et de tout supprimer. Pour ajouter un groupe de bouton, c'est l'opération inverse. Je souhaite par exemple extraire le bouton About pour qu'il soit tout seul, à la fin de la barre d'outils, bien séparé des autres. Au départ, il est intégré au dernier groupe de boutons, comme ceci: <plugin name="Spacer"/> <plugin name="About" acl="*"/> Je vais créer un nouveau groupe, enlever le Spacer qui ne servira plus (déjà qu'il ne servait pas à grand-chose chez moi), et insérer dans ce nouveau groupe le bouton About, ça donne ceci:
<plugingroup
<plugin name="About" acl="*"/>
</plugingroup>
qui vient juste après la balise de fermeture du groupe précédent. Voilà, je pense qu'avec ça tout le monde est paré pour se faire sa propre barre d'outils pour JoomlaFCK Créer sa propre barre d'outilsPour synthétiser tout ce que l'on vient de voir, nous allons créer notre propre barre d'outils, simplifiée, mais fonctionnelle: D'abord, créons son enveloppe:Je me positionne en haut du fichier, c'est plus pratique. <toolbar name="Tr@nquille"> </toolbar> Créons maintenant l'enveloppe des groupes de plugin:
|




