Jump to content

[TUTORIEL] - Retoucher les templates des modules


Recommended Posts

Bonjour,

Voici un petit tutoriel expliquant la méthode à suivre pour modifier à souhait votre thème PrestaShop et plus particulièrement les templates disponibles dans les modules accrochés au noyau.
Ceci est une proposition de méthode de travail, et est ouverte à toute proposition d'amélioration.


1. / Présentation des templates dans un module

Chaque module, livré ou non à l'installation d'un PrestaShop est modifiable à souhait dans les fichiers templates sous l'extension *.tpl. Ces fichiers sont les derniers remparts avant la génération du code final pour ensuite l'envoyer au navigateur. Ils sont les intermédiaires entre le code PHP qui reste le noyau principal du traitement, et le rendu final qui sera restituer au visiteur.
Les modules contenant ces templates se situent dans le répertoire d'origine /modules/...
Appelons notre module pour l'exemple : "modulebeta". Je vais donc avoir dans mon répertoire de modules le chemin d'accès suivant :

/modules/modulebeta/...


Pour l'exemple encore, ce module est sans prétention, et ne sert simplement qu'à afficher un petit contenu dans un "

Bonjour, voici mon module d'origine
".
J'aurai donc dans mon répertoire de modules les fichiers suivants (avec la gestion langues, pourquoi pas) :
/modules/modulebeta/modulebeta.php
/modules/modulebeta/modulebeta.tpl
/modules/modulebeta/fr.php
/modules/modulebeta/en.php
/modules/modulebeta/logo.gif


Puisque ce module est présent, et que l'on souhaite y mettre notre grain de sel, simplement dans la partie affichage, nous ne nous occuperons alors que du fichier modulebeta.tpl, et si c'est le cas pour d'autres modules, tous les autres fichier sous l'extension *.tpl.
modulebeta.tpl contient donc :

<!-- Block modulebeta -->
Bonjour, voici mon module d'origine
<!-- /Block modulebeta -->




2. / Méthode pour modifier correctement les affichages d'un module

Il est important de toujours dissocier nos propres modifications du coeur principal de PrestaShop (sauf expert bien sur qui n'ont pas le choix parfois).
Ceci permettra de toujours garder son travail sur le thème/modules sans fausser le principe de suivi de PrestaShop (mise à jour, correctifs, etc.).
Votre thème reste donc pour vous l'interaction principale entre le noyau de PrestaShop et votre personnalisation.
La méthode est simple, à la manière d'une classe objet php, il faut "surcharger" le template en le proposant directement dans le répertoire de son thème.
Pour l'occasion, j'appellerai themebeta mon thème personnel qui servira d'exemple.
Je vais donc avoir dans mon répertoire de thèmes le chemin d'accès suivant :

/themes/prestashop/...
/themes/themebeta/...


Pour retoucher le template du module modulebeta.tpl à notre guise, faites simplement une copie de ce template (ou ces templates), et collez le dans le chemin de répertoires suivant :

/themes/themebeta/modules/modulebeta/modulebeta.tpl



Il ne vous reste plus qu'à retoucher le nouveau fichier modulebeta.tpl de votre thème qui sera remplacé de façon automatique par celui d'origine.
Tout ceci permet aussi de garder votre noyau PROPRE pour la suite !

  • Like 1
Link to comment
Share on other sites

Salut,

Super comme tuto cependant je vais quand même rajouter quelque chose car les clés de langue ne sont pas prises en compte.

C'est à dire que lorsque l'on travaille sur le fichier tpl

/themes/themebeta/modules/modulebeta/modulebeta.tpl


Si on rajoute ceci par exemple dans le tpl dont le chemin est au-dessus:

{l s='My modulebeta' mod='modulebeta'}



Impossible de le traduire sauf si on place cette même clé dans la tpl suivante:

/modules/modulebeta/modulebeta.tpl

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...