Test extension eZ Geshi
Lorsqu'on utilise un site web pour montrer ses compétences techniques, il parait utile de disposer d'un outil capable de mettre en forme du code. eZ Publish ne possède pas cette fonctionnalité. Par contre, il existe une extension disponible sur projects.ez.no : eZ Geshi. Installation et évaluation.
Exemple
Une fois l'extension paramétrée vous pourrez obtenir ce résultat là:
{foreach fetch_alias(comments, hash(parent_node_id, $node.node_id )) as $comment} {node_view_gui view='line' content_node=$comment} {/foreach}
Éléments requis
eZ Geshi extension développée par Gaetano Giunta.
Installation
- Décompresser le zip et le placer dans le répertoire extension de votre site eZ Publish.
- Se connecter à l'interface d'administration de eZ Publish et cliquer sur l'onglet Administration.
- Dans le menu de gauche, cliquer sur Extension
- Cocher la case ezsh et cliquer sur le bouton "Mettre à jour"
Paramétrage
Il faut tout d'abord donner les droits aux utilisateurs concernés. Dans mon exemple, je décide de les attribuer aux utilisateurs anonymes.
- Modifier le rôle Anonymous
- Cliquer sur le bouton "Nouvelle politique de sécurité"
- Sélectionner le module "geshi" et la fonction "view_any_source"
- Cliquer sur le bouton "Accorder un accès illimité"
- Si tout est correct vous devez voir apparaître dans la liste des politiques de sécurité le droit que vous avez accordez
- Cliquer sur "Enregistrer"
La liste des langages est très longue. Vous pouvez choisir vos langages préférés. Pour cela:
- Editez le fichier /extension/ezsh/settings/content.ini.append.php
- Supprimer les lignes inutiles.
A titre d'exemple, voici mon fichier :
<?php /* [literal] AvailableClasses[]=apache AvailableClasses[]=bash AvailableClasses[]=css AvailableClasses[]=ezini AvailableClasses[]=eztemplate AvailableClasses[]=html4strict AvailableClasses[]=ini AvailableClasses[]=javascript AvailableClasses[]=jquery AvailableClasses[]=php AvailableClasses[]=php-brief AvailableClasses[]=sql AvailableClasses[]=text AvailableClasses[]=vim AvailableClasses[]=xml ClassDescription[apache]=Apache configuration ClassDescription[bash]=Bash ClassDescription[css]=CSS ClassDescription[ezini]=eZ Publish ini ClassDescription[eztemplate]=eZ Publish template ClassDescription[html4strict]=HTML ClassDescription[ini]=INI ClassDescription[javascript]=Javascript ClassDescription[jquery]=jQuery ClassDescription[php]=PHP ClassDescription[php-brief]=PHP (brief) ClassDescription[sql]=SQL ClassDescription[text]=Text ClassDescription[vim]=Vim Script ClassDescription[xml]=XML */ ?>
Pensez à vider les caches (on est sur eZ Publish tout de même !)
Voila, votre extension est désormais disponible et prête à être utilisée !
Utilisation
Depuis Online Editor
Vous pouvez vous rendre dans l'interface d'édition d'un article (ou autre contenu) pour insérer votre code.
Pour cela, cliquer sur le bouton "Insérer un texte littéral"
Une fenetre s'ouvre vous proposant de choir le langage que vous souhaitez insérer.
Dans cet exemple, j'ai choisi eZ Publish template.
Un cadre bleu apparait et vous pouvez taper votre code.
Une fois que cela est fait, cliquer sur "Envoyer pour publication"
Depuis le template
Cette extension permet aussi d'utiliser un opérateur de template pour formater le code. Pour cela il vous suffit de procéder de la façon suivante:
{ezsh('<p>Hello World!</p>',html)}
A noter : le deuxième paramètre (langage) n'est pas un paramètre obligatoire. Par défaut, le langage utilisé est php.
Avis
eZ Geshi apparait comme une extension importante voire indispensable pour les utilisateurs d'eZ Publish ayant besoin de partager ou diffuser les codes. Cette extension utilise Geshi (Generic Syntax Highlighter) qui possède un grand nombre de langages, vous devriez trouver votre bonheur.

posté sous