Un modulePrestashop, comment    ca marche ?
Prestashop ?‡ Solution Open-Source‡ PHP5/MySQL5‡ Système de modules (PHP/Smarty)
Système de hooks‡ Points d’ancrage‡ 85 hooks dans Prestashop 1.4.5‡ On peut en rajouter grâce à la surcharge !
Structure des fichiers‡ Fichiers PHP‡ Templates Smarty (.tpl)‡ Feuilles de style, Javascript et images
Surcharge« On peut tout surcharger<        < sauf les fichiers PHP ! »
Structure du code‡ Classe PHP‡ Dérive de la classe Module‡ Nom unique
Déclaration variables‡ Nécessaire si on veut les utiliser plus tard‡ Pré-remplies (ou pas) :   public $variable_vide;   pu...
Squelette d’un module‡ Des fonctions obligatoires :   O construct()   O install()‡ Des fonctions facultatives :   O uninst...
construct()‡ Utilisée à chaque exécution du module‡ Définit le module (nom, description, etc)‡ Remplit les variables du mo...
install()‡ Exécutée une seule fois‡ Relie le module aux hooks‡ Effectue toute opération nécessaire  (création de table, co...
uninstall()‡ Facultative‡ Exécutée au clic sur « Désinstaller »‡ Effectue toute opération nécessaire  (suppression de tabl...
Hooks‡ Permettent de relier une action au  déclenchement d’un hook‡ Peuvent s’appeler entre eux : A => B et C => B‡ Possib...
Fonctions communes‡ Permettent d’appeler une même fonction  depuis plusieurs hooks‡ Allègent le code et le rendent + lisible
Appels des templates‡ On indique le fichier à utiliser :   return $this->display(__FILE__, ‘module.tpl);‡ Variables Smarty...
displayForm()‡ Utilisée pour le formulaire dans le B.O.‡ Pas d’affichage direct mais utilisation de  $output‡ Pas de trait...
getContent()‡ Utilisée pour le traitement du formulaire du  B.O.‡ Tout type d’opération (base de données, etc)‡ Affichage ...
Traduction‡ Pas de chaîne « en dur »‡ Utilisation de $this->l(‘string’)‡ Traduction via l’onglet dédié du B.O.
C’est qui, le barbu ?‡ Samy Rabih Développeur PHP/JS‡ O2Sources (Lyon)‡ @fetard
Prochain SlideShare
Chargement dans…5
×

"Un module Prestashop, comment ca marche?"

2 972 vues

Publié le

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é).

Publié dans : Technologie
1 commentaire
1 j’aime
Statistiques
Remarques
  • Cette mini-conférence sera également présentée lors du prochain apéro Prestashop Lyon mi-décembre (lieu non encore déterminé).
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
Aucun téléchargement
Vues
Nombre de vues
2 972
Sur SlideShare
0
Issues des intégrations
0
Intégrations
43
Actions
Partages
0
Téléchargements
21
Commentaires
1
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

"Un module Prestashop, comment ca marche?"

  1. 1. Un modulePrestashop, comment ca marche ?
  2. 2. Prestashop ?‡ Solution Open-Source‡ PHP5/MySQL5‡ Système de modules (PHP/Smarty)
  3. 3. Système de hooks‡ Points d’ancrage‡ 85 hooks dans Prestashop 1.4.5‡ On peut en rajouter grâce à la surcharge !
  4. 4. Structure des fichiers‡ Fichiers PHP‡ Templates Smarty (.tpl)‡ Feuilles de style, Javascript et images
  5. 5. Surcharge« On peut tout surcharger< < sauf les fichiers PHP ! »
  6. 6. Structure du code‡ Classe PHP‡ Dérive de la classe Module‡ Nom unique
  7. 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. 8. Squelette d’un module‡ Des fonctions obligatoires : O construct() O install()‡ Des fonctions facultatives : O uninstall() O getContent() O displayForm() O hookX()
  9. 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. 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. 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. 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. 13. Fonctions communes‡ Permettent d’appeler une même fonction depuis plusieurs hooks‡ Allègent le code et le rendent + lisible
  14. 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. 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. 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. 17. Traduction‡ Pas de chaîne « en dur »‡ Utilisation de $this->l(‘string’)‡ Traduction via l’onglet dédié du B.O.
  18. 18. C’est qui, le barbu ?‡ Samy Rabih Développeur PHP/JS‡ O2Sources (Lyon)‡ @fetard

×