jp.guihard.net
https://www.jp.guihard.net/spip.php?article95
Lister les plugins actifs
jeudi, 7 octobre 2010 / guihard

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.



Documents à télécharger
• Lister les plugins actifs, (Zip - 4.1 ko)