Vous êtes ici : Accueil du site > Blog > Spip

Lister les plugins actifs

Mis en ligne le jeudi 7 octobre 2010 à 14h55, par Jean-Philippe 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.

SPIP | À propos de ce site | Contact | Plan du site | Suivre la vie du site RSS 2.0

1996 - 2017