En moins d'une vingtaine de slides, petit tour rapide des principaux composants d'un module Prestashop.
Présenté le 24 novembre 2011 au Barcamp Prestashop (Espace Tapis Rouge 75010 PARIS)
Cette mini-conférence sera également présentée lors du prochain apéro Prestashop Lyon mi-décembre (lieu non encore déterminé).
7. Déclaration variables
‡ Nécessaire si on veut les utiliser plus tard
‡ Pré-remplies (ou pas) :
public $variable_vide;
public $variable_remplie = ‘valeur’;
8. Squelette d’un module
‡ Des fonctions obligatoires :
O construct()
O install()
‡ Des fonctions facultatives :
O uninstall()
O getContent()
O displayForm()
O hookX()
9. construct()
‡ Utilisée à chaque exécution du module
‡ Définit le module (nom, description, etc)
‡ Remplit les variables du module et
effectue les opérations nécessaires
10. install()
‡ Exécutée une seule fois
‡ Relie le module aux hooks
‡ Effectue toute opération nécessaire
(création de table, copie de fichiers, etc.)
11. uninstall()
‡ Facultative
‡ Exécutée au clic sur « Désinstaller »
‡ Effectue toute opération nécessaire
(suppression de table ou de fichiers, etc.)
12. Hooks
‡ Permettent de relier une action au
déclenchement d’un hook
‡ Peuvent s’appeler entre eux : A => B et C => B
‡ Possible de les gérer via le B.O.
13. Fonctions communes
‡ Permettent d’appeler une même fonction
depuis plusieurs hooks
‡ Allègent le code et le rendent + lisible
14. Appels des templates
‡ On indique le fichier à utiliser :
return $this->display(__FILE__, ‘module.tpl');
‡ Variables Smarty pré-remplies via PHP<
$smarty->assign(‘variable', $this->variable);
<et récupérables dans les .tpl :
<p> {$variable} </p>
15. displayForm()
‡ Utilisée pour le formulaire dans le B.O.
‡ Pas d’affichage direct mais utilisation de
$output
‡ Pas de traitement des résultats
16. getContent()
‡ Utilisée pour le traitement du formulaire du
B.O.
‡ Tout type d’opération (base de données, etc)
‡ Affichage du résultat du traitement
17. Traduction
‡ Pas de chaîne « en dur »
‡ Utilisation de $this->l(‘string’)
‡ Traduction via l’onglet dédié du B.O.
18. C’est qui, le barbu ?
‡ Samy Rabih
Développeur PHP/JS
‡ O2Sources (Lyon)
‡ @fetard