Actions
Systeme de Plugins » History » Revision 2
« Previous |
Revision 2/14
(diff)
| Next »
Simon, 05/03/2012 04:22 PM
Système de Plugins¶
Architecture d'un plugin¶
L'architecture d'un plugin doit se conformer à quelques règles.
- D'abord en ce qui concerne le nommage, le plugin doit nécessairement être préfixé de l21_
- Il doit contenir un fichier
plugin.xml
qui renseignera les méta-informations (nom, auteur, compatibilité, date de sortie, portée du plugin ...) - Il doit nécessairement disposé d'un fichier nommé
__init__.php
. Ce fichier sera exécuté à chaque appel de page. C'est lui qui instancie le plugin et permettra donc son exécution. - Si le plugin fait appel à des fichiers de langue, il doit impérativement reproduire la structure applicative. Il contient alors un répertoire nommé languages et autant de sous-répertoires pour les langues (par exemple fr et en). Tous les fishiers contenus dans les sous-répertoires seront chargés lors de l'instanciation du plugin.
- La présence d'un fichier
__install__.php
permettra lors de l'installation du plugin d'effectuer des actions relative à sa mise en oeuvre, par exemple, l'ajout d'une table dans la base de données, la modification d'un fichier, ...
Pour le reste, vous avez une totale liberté dans l'organisation de votre plugin. Veillez toutefois à proposer une structure claire, afin que celui-ci puisse être amélioré ou repris par un autre utilisateur.
Exemple de fichier plugin.xml¶
<?xml version="1.0" encoding="UTF-8"?> <plugin> <pluginname>l21_gotoTop</pluginname> <description>Add a go to Top button on each pages</description> <version>1</version> <date>22-01-2012</date> <compatibility>1.5 +</compatibility> <author>Simon Georget</author> <homepage>http://www.empreinte-urbaine.eu</homepage> <default_language>fr</default_language> <apps> <app>public</app> <app>admin</app> </apps> </plugin>
La balise <apps> définit la portée du plugin. Elle peut comporter un ou plusieurs tags, selon que le plugin est utile à l'interface publique, à l'interface d'administration ou au deux -comme dans l'exemple ci-dessus.
Exemple de l'architecture d'un plugin¶
Insérer ici la capture d'écran
Updated by Simon over 12 years ago · 2 revisions