Je voulais afficher la liste des plugins actifs du site dans la page À propos du site.
Voici donc le code utilisé pour cela :
Dans le fichier article.html, j’ai mis cet appel :
Explication :
Dans mon cas, je ne veux cette liste que pour l’article numéro 92, donc je fais un test - (#ID_ARTICLE|=={92}|oui)
- , si tel est le cas, je fais l’appel à l’include inc-list_plugin.
J’ai créé un fichier inc-list_plugin.html que j’ai placé dans le dossier includes de mon dossier Squelettes.
Dans ce fichier inc-list_plugin.html, j’ai placé ce code :
Explication :
La balise #PLUGIN* associée au filtre |foreach va chercher la présence des plugins actifs. Cette information est passée au modèle ci-dessous.
J’ai créé un fichier liste_plug.html que j’ai placé dans le dossier modeles de mon dossier Squelettes. Dans ce fichier, j’ai placé ce code :
Le principe général est le suivant : un plugin possède un fichier plugin.xml qui donne différentes informations sur le plugin. Ainsi, nous pouvons y trouver : icon, nom, version, auteur, description. Ce sont ces 3 premières informations que je vais récupérer. La syntaxe de base est la suivante : #PLUGIN{#ENV{valeur}, le paramètre}
. En clair, cela veut dire : occupe toi des plugins #PLUGIN
dont le nom est #ENV{valeur}
et donne moi l’information.
Dans ce code, je récupère en premier :
[(#CHEMIN{#PLUGIN{#ENV{valeur},icon}}|balise_img{"L'icone du plugin",img_plugin}|image_reduire{40})]
.
On va chercher l’icone du plugin s’il y en a une {#PLUGIN{#ENV{valeur},icon}}
.
Puis on cherche le chemin complet de cette image avec la balise #CHEMIN
et comme on veut afficher l’image de façon correcte et valide, on ajoute 1 info (une balise alt) et on peut optionnellement ajouter une deuxième info, une class css via le filtre |balise_img{"L'icone du plugin",img_plugin}
. Enfin, on fixe la taille maximale de l’image affichée via le dernier filtre |image_reduire{40}
.
Ensuite on récupère le nom du plugin (#PLUGIN{#ENV{valeur}, nom}|extraire_multi)
et son numéro de version#PLUGIN{#ENV{valeur}, version}
.
À noter que le filtre |extraire_multi
est utilisé en cas de site multi langue.