Thelia 2 est maintenant disponible. Retrouvez toutes les informations ici
Thelia 2 is now available. Find all the information here

Comment créer un module Thelia - partie 1

Le blog TheliaFlux rss


< Retour sur l’April Entreprise Camp Ouverture de l’espace Contributeurs sur thelia.net. >
2013
28
janvier

Comment créer un module Thelia - partie 1

par Manuel Raynaud

Thelia permet d’étendre ses fonctionnalités grâce à l’ajout de plugins. Nous allons voir ici comment en réaliser un.

Il existe 4 types de plugins permettant d’étendre les fonctionnalités de Thelia :

  1. Les plugins de type paiements permettant de rajouter des moyens de paiement.
  2. Les plugins de type transports permettant de rajouter des modes de livraison.
  3. Les plugins de type filtres permettant de rajouter des filtres.
  4. Les plugins classiques, qui rassemblent tous les autres cas.

La liste des plugins téléchargeables est disponible ici : http://thelia.net/Plugins.html Thelia recense à peu près 250 plugins.

Pour illustrer la création d’un module nous allons partir du cahier des charges suivant :

  1. Un commerçant souhaite pouvoir créer, modifier, supprimer des commentaires sur une fiche produit dans le back-office.
  2. Les commentaires pourront être ou non validés.
  3. Les commentaires validés seront affichés sur la fiche produit côté front office.

Le besoin énoncé, découvrons maintenant comment sont structurés les plugins.

Les plugins sont enregistrés dans le répertoire client/plugins de votre Thelia :

Comme vous pouvez le voir, nous avons ici le plugin chèque et le plugin colissimo avec tous les fichiers qu’ils contiennent. Un plugin c’est donc un dossier avec au minimum un fichier php ayant le même nom que le dossier, commençant par une majuscule.

Nous allons appeler notre plugin "commentaire". Créez donc un répertoire commentaire dans client/plugins ainsi que le fichier Commentaire.class.php :

La structure de notre plugin est en place. Il ne nous reste plus qu’à déclarer notre plugin, c’est à dire spécifier le type de plugin que nous développons (classiques, transports, paiements ou filtres).

La déclaration d’un plugin est en fait la déclaration d’une classe, qui hérite d’une des classes suivantes :

  1. PluginsClassiques => pour les plugins Classiques
  2. PluginsTransports => pour les plugins de transports
  3. PluginsPaiements => Pour les plugins de paiements
  4. FiltreBase => Pour les filtres

Notre plugin ne rentre pas dans le cadre des plugins transports, paiements ou filtres, il s’agit d’un plugin classique. Ouvrez donc votre fichier Commentaire.class.php à l’aide de votre éditeur préféré et déclarez la classe :

  1. <?php
  2. class Commentaire extends PluginsClassiques
  3. {
  4.     public function __construct()
  5.     {
  6.         parent::__construct("commentaire");
  7.     }
  8. }
  9. ?>

Pour l’instant nous appelons seulement le constructeur de la classe parente en lui spécifiant le nom du plugin. Ce n’est pas nécessaire de le faire si vous joignez la description de votre plugin au format XML, ce que nous allons voir dès à présent.

Le fichier plugin.xml est obligatoire. Il permet d’avoir des renseignements sur vous, la version du plugin, à partir de quelle version de Thelia votre plugin est compatible, si il est stable ou bien encore en développement, etc. Vous trouverez la documentation sur ce fichier ici : http://thelia.net/wiki/index.php/Structure_du_fichier_plugin.xml Voici un exemple :

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <plugin>
  3.  <descriptif lang="fr">
  4.    <titre>Commentaire de fiche produit</titre>
  5.    <chapo></chapo>
  6.    <description>
  7.        Permet à un commerçant de mettre des commentaires sur ses fiches produits et de les afficher sur son site.
  8.    </description>
  9.    <postscriptum></postscriptum>
  10.  </descriptif>
  11.  <version>0.1</version>
  12.  <auteur>
  13.    <nom>Manuel Raynaud</nom>
  14.    <societe>openstudio</societe>
  15.    <email>mraynaud@openstudio.fr</email>
  16.    <web>http://thelia.net</web>
  17.  </auteur>
  18.  <type>classique</type>
  19.  <prerequis/>
  20.  <thelia>1.5.3.4</thelia>
  21.  <etat>production</etat>
  22.  <documentation>Readme.txt</documentation>
  23.  <urlmiseajour></urlmiseajour>
  24. </plugin>

Vous disposez maintenant aussi du fichier plugin.xml dans le répertoire de votre plugin.

Il est également préférable de rajouter de la documentation dans votre plugin indiquant ce qu’il fait et comment l’utiliser, en donnant des exemples d’utilisation. Nous allons donc rajouter un readme. Il vous suffit de créer un fichier Readme.txt. Pour l’instant il ne contient rien, nous le complèterons au fur et à mesure de nos développements.

Dans le prochain tutoriel nous verrons comment automatiser l’installation de notre plugin , c’est à dire créer automatiquement une table lors de l’activation du module. Nous développerons aussi les premières interfaces dans l’administration.

N’oubliez pas, vous pouvez consulter la documentation de Thelia à l’adresse suivante : http://thelia.net/wiki

Retrouvez la suite du tuto dans la partie 2 puis partie 3.

tags : trucs et astuces


Ajouter un commentaire

Ce forum est modéré à priori : votre contribution n'apparaîtra qu'après avoir été validée par un administrateur du site.

Nos
partenaires



Contactez
Thelia


Pour toutes questions concernant Thelia, vous pouvez nous contacter :

contacter Thelia par téléphone par téléphone au 04 44 05 31 00

Contacter Thelia e-maiol par mail à l'adresse info@thelia.net

April Oséo FEDER