jeudi 10 octobre 2013

Le modèle MVC de prestashop

Prestashop suit le modèle MVC c'est à dire Model View Controller, Le modèle c'est la partie données du site, elle se présente sous forme de classes, par exemple la classe product  contient un ensemble d'attributs (catégorie, tax, prix...) et de méthodes ( avoir des informations d'un produit, mis à jour d'un produit, mis à jour de la taxe d'un produit, ajout d'un attribut de produit...

View ou vue est tout ce qui concerne l'affichage à l'utilisateur, dans prestashop il se présente sous forme de fichiers tpl.

Et le controller, ou contrôleur, c'est la partie qui traite les informations émises par l'utilisateur et suite à ces informations, on fait des traitements: créer un produit, demande des informations du modèle et envoie le résultat du traitement à la vue, ce résultat se traduit par l'assignement d'une variable smarty qu'on utilise dans la vue.

Prenons le cas de la recherche de prestashop:

L'utilisateur tape les mots clés des produits à rechercher; la vue va envoyer ces informations au contrôleur qui va rechercher les produits correspondant à ces mots clés, alors il va demander au modèle (classe ) de lui fournir les produits correspondant à la recherche (la méthode searchByName).
Après le contrôleur  assigne les variables à utiliser dans la vue et en fin invoque la vue résultat de recherche.

Le modèle MVC s'applique à tous les modules et les pages de prestashop par exemple la page contact a son contrôleur, on la trouve dans le dossier /controllers, a son propre vue on la trouve  dans le dossier /themes il s'agit d'un fichier tpl (smarty) contact-form.tpl, contact.php est son modèle (dossier /classes).


J'espère que j'étais le plus clair possible dans l'explication du modèle MVC de prestashop
Vous pouvez me  contacter pour vous fournir un module prestashop d'exemple.  

0 commentaires :

Enregistrer un commentaire