Contenu
Le système de thème de PrestaShop est basé sur un moteur de modèle/template, appelé Smarty (http://www.smarty.net/), qui permet aux web-designers et développeurs de créer facilement leur propre thème, avec peu de connaissances techniques.
Tous les designers et développeurs web devraient utiliser les outils suivants :
Ils offrent de nombreux outils, parmi lesquels un outil de parcours du DOM, un éditeur CSS en direct, un inspecteur du réseau, etc., et apportent une aide essentielle lorsqu'il s'agit de déboguer du code HTML, CSS, JavaScript, et même les requêtes Ajax. |
PrestaShop est basé sur une architecture 3-tiers :
/classes
./themes
.Pour plus d'information, lire la page Wikipédia http://fr.wikipedia.org/wiki/Architecture_trois_tiers.
Il s'agit du même principe que pour l'architecture MVC (Modèle-Vue-Contrôleur), en plus simple et plus accessible.
Pour plus d'informations sur le MVC, lisez la page Wikipédia http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur.
Notre équipe de développeur à choisi de ne pas utiliser de framework PHP, tel que Zend Framework, Symfony ou CakePHP, afin d'obtenir une meilleure lisibilité du code, et donc de permettre des modifications plus rapides.
Cela permet également d'obtenir de meilleures performances, étant donné que le logiciel n'est fait que de lignes de code qu'il utilise effectivement, et qu'il ne contient pas un lit de bibliothèques génériques ajoutées.
Une architecture 3-tiers a de nombreux avantages :
/themes
sans avoir à comprendre ou même lire une seule ligne de code PHP.Un modèle représente le comportement de l'application : traitement des données, interaction avec la base de données, etc.
Il décrit ou contient les données qui ont été traitées par l'application. Il gère ces données, et garantis leur intégrité.
Une vue est l'interface avec laquelle l'utilisateur interagit.
Son premier rôle est d'afficher les données qui ont été fournies par le modèle. Son second rôle est de gérer toutes les actions en provenance de l'utilisateur (clic de la souris, sélection d'un élément, boutons, etc.) et d'envoyer ces données au contrôleur.
La vue ne fait aucun traitement : elle ne fait qu'afficher le résultat d'un traitement réalisé par le modèle, et interagit avec l'utilisateur.
Le contrôleur gère la synchronisation des évènements entre le modèle et la vue, et met les deux à jour en fonction des besoins. Il reçoit tous les évènements utilisateur, et déclenche les actions à réaliser.
Si une action a besoin de modifier des données, le contrôleur "demandera" au modèle de modifier ces données, et en retour le modèle notifiera la vue que les données ont été changées, afin que la vue puisse se mettre à jour.
Voici une liste non exhaustive de bonnes pratiques à respecter :
.css
à part..php
à la racine de PrestaShop), privilégiez l'utilisation des méthodes existantes dans les classes PHP et/ou créez de nouvelles méthodes dans ces classes.Un thème PrestaShop est un ensemble de fichiers que vous pouvez modifier afin de personnaliser la mise en page de votre boutique.
Voici quelques points importants :
/themes
..tpl
), d'images (.gif
), .jpg
, .png
), d'un ou plusieurs fichiers CSS .css
, et parfois même de fichiers JavaScript (.js
).preview.jpg
dans son dossier racine, permettant au propriétaire du site d'avoir un aperçu du thème directement depuis le back-office, et donc de choisir son thème en connaissance de cause.En tant que développeur de thèmes, il y a dossiers auxquels vous devez faire attention :
/modules
: c'est ici que se trouvent tous les modules. Un module peut avec des fichiers template, qui redéfinissent des parties du thème./themes
: c'est ici que se trouvent tous les modules. Le thème par défaut de la version 1.5 se trouve dans le dossier /default
(celui de la version 1.4 était dans /prestashop
)./mails
: c'est ici que se trouvent tous les modèles d'e-mails. Ces modèles devraient correspondre autant que possible au style et au design du thème principal. Chaque sous-dossier contient des modèles par langue./img
: c'est ici que se trouvent toutes les images de la boutique. Les images propres à un thème se trouvent dans le dossier du thème./pdf
: c'est ici que se trouvent les modèles de documents.Voici un aperçu de l'arborescence de fichiers d'un thème PrestaShop (ici, le thème par défaut) :
/css
contient tous les fichiers CSS./img
contient toutes les images./js
contient tous les fichiers JavaScript./lang
contient toutes les traductions du thème. Ses droits d'accès devraient être à CHMOD 666 (par exemple), afin que l'outil de traduction puisse y avoir accès.preview.jpg
.Les dossiers |