Top Banner
Un module Prestashop, comment ca marche ?
18

"Un module Prestashop, comment ca marche?"

Jan 19, 2015

Download

Technology

o2sources

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é).
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: "Un module Prestashop, comment ca marche?"

Un module Prestashop, comment ca marche ?

Page 2: "Un module Prestashop, comment ca marche?"

Prestashop ?‡ Solution Open-Source

‡ PHP5/MySQL5

‡ Système de modules (PHP/Smarty)

Page 3: "Un module Prestashop, comment ca marche?"

Système de hooks‡ Points d’ancrage

‡ 85 hooks dans Prestashop 1.4.5

‡ On peut en rajouter grâce à la surcharge !

Page 4: "Un module Prestashop, comment ca marche?"

Structure des fichiers‡ Fichiers PHP

‡ Templates Smarty (.tpl)

‡ Feuilles de style, Javascript et

images

Page 5: "Un module Prestashop, comment ca marche?"

Surcharge

« On peut tout surcharger…

… sauf les fichiers

PHP ! »

Page 6: "Un module Prestashop, comment ca marche?"

Structure du code‡ Classe PHP

‡ Dérive de la classe Module

‡ Nom unique

Page 7: "Un module Prestashop, comment ca marche?"

Déclaration variables‡ Nécessaire si on veut les utiliser

plus tard

‡ Pré-remplies (ou pas) :public $variable_vide;public $variable_remplie = ‘valeur’;

Page 8: "Un module Prestashop, comment ca marche?"

Squelette d’un module‡ Des fonctions obligatoires :

O construct()O install()

‡ Des fonctions facultatives :O uninstall()O getContent()O displayForm()O hookX()

Page 9: "Un module Prestashop, comment ca marche?"

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

Page 10: "Un module Prestashop, comment ca marche?"

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

Page 11: "Un module Prestashop, comment ca marche?"

uninstall()‡ Facultative

‡ Exécutée au clic sur « Désinstaller »

‡ Effectue toute opération nécessaire

(suppression de table ou de fichiers,

etc.)

Page 12: "Un module Prestashop, comment ca marche?"

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.

Page 13: "Un module Prestashop, comment ca marche?"

Fonctions communes‡ Permettent d’appeler une même

fonction depuis plusieurs hooks

‡ Allègent le code et le rendent +

lisible

Page 14: "Un module Prestashop, comment ca marche?"

Appels des templates‡ On indique le fichier à utiliser :

‡ Variables Smarty pré-remplies via

PHP…

…et récupérables dans les .tpl :

return $this->display(__FILE__, ‘module.tpl');

$smarty->assign(‘variable', $this->variable);

<p> {$variable} </p>

Page 15: "Un module Prestashop, comment ca marche?"

displayForm()‡ Utilisée pour le formulaire dans le

B.O.

‡ Pas d’affichage direct mais utilisation

de $output

‡ Pas de traitement des résultats

Page 16: "Un module Prestashop, comment ca marche?"

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

Page 17: "Un module Prestashop, comment ca marche?"

Traduction‡ Pas de chaîne « en dur »

‡ Utilisation de $this->l(‘string’)

‡ Traduction via l’onglet dédié du B.O.

Page 18: "Un module Prestashop, comment ca marche?"

C’est qui, le barbu ?‡ Samy Rabih

Développeur PHP/JS

‡ O2Sources (Lyon)

‡ @fetard