Introduction aux plugins : Différence entre versions
Ligne 79 : | Ligne 79 : | ||
?> | ?> | ||
</pre> | </pre> | ||
+ | |||
+ | Détaillons les méthodes : | ||
+ | |||
+ | Plugins : constructeurs | ||
+ | |||
+ | init : méthode appelée à l'activation du plugin. Elle peut permettre de créer des tables par exemple. | ||
+ | |||
+ | destroy : méthode appelée à la désactivation d'un plugin. Utile pour vider le cache, supprimer des tables ... | ||
+ | |||
+ | getTitre : renvoie le titre du plugin | ||
+ | |||
+ | getChapo : renvoie le chapo du plugin | ||
+ | |||
+ | getDescription : renvoie la description du plugin | ||
+ | |||
+ | ajout_desc : permet de définir titre, chapo, description du plugin | ||
+ | |||
+ | |||
[[Sommaire]] | [[Sommaire]] |
Version du 11 juillet 2007 à 09:11
Thelia est une application modulaire pouvant être enrichie à l'aide de plugins.
Il existe 3 types de plugins :
- les plugins classiques permettent d'ajouter des actions, des boucles ...
- les plugins transports permettent d'ajouter un mode de transport
- les plugins paiement permettent d'ajouter un nouveau mode de paiement.
Tous ces plugins peuvent être enrichis d'une interface administrateur.
Un plugin est au moins constitué :
- d'un répertoire étant le nom du plugin
- une classe se nommant Nom.class.php
Pour ajouter une gestion du plugin au niveau de l'interface d'administration, le code nécessaire se trouvera dans le fichier test_admin.php
Le "Nom" de la classe est tout simplement le nom du plugin avec sa 1ère lettre en majuscule.
Prenons un exemple simple. Un plugin nommé test.
Nous aurions un répertoire test contenant le fichier Test.class.php
Le plugin sera installé dans le répertoire client/plugins de l'application Thelia.
Il pourra être installé de manière autonome depuis l'interface d'administration. Il suffira pour cela de fournir un fichier zip à l'utilisateur.
Notre plugin test deviendrait donc test.zip
Voici la structure de base d'une classe Plugin.
?php include_once(realpath(dirname(__FILE__)) . "/Baseobj.class.php"); include_once(realpath(dirname(__FILE__)) . "/Cache.class.php"); include_once(realpath(dirname(__FILE__)) . "/Modulesdesc.class.php"); class Plugins extends Baseobj{ var $nom_plugin; function Plugins($nom=""){ $this->Baseobj(); $this->nom_plugin = $nom; } function init(){ } function destroy(){ } function getTitre(){ } function getChapo(){ } function getDescription(){ } function ajout_desc($titre, $chapo, $description, $lang, $devise=""){ } } ?>
Détaillons les méthodes :
Plugins : constructeurs
init : méthode appelée à l'activation du plugin. Elle peut permettre de créer des tables par exemple.
destroy : méthode appelée à la désactivation d'un plugin. Utile pour vider le cache, supprimer des tables ...
getTitre : renvoie le titre du plugin
getChapo : renvoie le chapo du plugin
getDescription : renvoie la description du plugin
ajout_desc : permet de définir titre, chapo, description du plugin