Jump to content

Customisation theme uniquement sur les fichiers tpl, quels sont les rudiments à connaitre ?


Recommended Posts

Bonjour,

Je un nouvel utilisateur de prestashop, depuis quelques jours je me penche sur les possibilités graphiques du système. Le système a dejà un très bon point : au niveau css tout est customisable et dissociable.

Par contre, je cherche toujours une méthode pour aller un peu plus loin dans la customisation, notamment dans le transfert de block d'une colonne à l'autre, ou l'affiche d'un module dans un nouveau

créé par mes soins et tout ça au sein uniquement des fichiers tpl....enfin bon j'ai des tas de petits besoins comme ça.

Pour être clair, jusque là, j'y arrive pas !! j'ai bien suivi ce message trouvé dans le forum :

http://www.prestashop.com/forums/viewthread/23715/graphisme/questions_de_debutant_pour_creer_un_theme,

c'était très intéressant mais la customisation oblige des modifications sur les fichiers php...et dans ce cas la notion de thème perd un peu son charme à mon goût, et aussi je pense que c'est la porte ouverte aux complications lors des mises à jour du système (...sur ce sujet peut être que je m'avance un peu...).

Alors, comment faire pour modifier uniquement les .tpl pour obtenir un design original ? quelles sont les variables smarty qui permettent d'ajouter un module à droite et d'en supprimer un à gauche ? est ce que cela est possible ? et je pense que des exemples seraient vraiment merveilleux !!

Je pense que je ne suis pas le seul à me poser cette question, et c'est vrai que dans le cas où ce n'est pas possible de réaliser ce type de modifs sans toucher au php, cela me ferait gagner un temps fou de compréhension et je customiser ais uniquement à partir du theme original (afin de conserver un maximum de compatibilité dans les mises à jour)

Merci pour vos réponses, et bravo pour votre travail, vous avez conçu un très beau système, je trouve que ça manquait en version FR.

Share this post


Link to post
Share on other sites

Alors, comment faire pour modifier uniquement les .tpl pour obtenir un design original ? quelles sont les variables smarty qui permettent d’ajouter un module à droite et d’en supprimer un à gauche ? est ce que cela est possible ? et je pense que des exemples seraient vraiment merveilleux !!


Salut,

Cette manip ce fait via l'admin:

modules/positions

Vous pouvez désactiver un module dans la colonne de gauche et le ré activer dans le module de droite, par exemple, en choisissant l'option greffer :

modules/positions/greffer


Pour la modification du PHP c'est pas forcément nécessaire mais parfois certains modules ne sont pas transférables (d'origine) dans un Hook précis ( top, left, right, footer etc...) du coup une petite modif s'impose, mais rien de méchant. En cherchant un peu sur le forum, les solutions sont données.

V++

Atch

Share this post


Link to post
Share on other sites

A noter que lorsque vous souhaitez modifier le tpl d'un module, il vous suffit de mettre le dossier du module en question dans votre theme.

Explication:
vous souhaitez modifier le tpl de blockcategories situé dans le dossier modules,
Copiez le(s) tpl(s) du dossier vers le dossier themes/nom_de_votre_theme/modules/blockcategories/

Share this post


Link to post
Share on other sites

Ah ça c'est cool ! Plus besoin de modifier les modules :D


Quand on le sais c'est très pratique !!!

dommage que l'on ne peut pas le faire avec les fichiers PHP modifiés :(

Du coup le theme n'est pas 100% autonome mais bon dans mon cas, les modifs de PHP se résume à des transfert de hook et il y en a pas 50!

V++

Atch

Share this post


Link to post
Share on other sites

Sauf si tu en crées des plus explicite que ceux actuel ^^'


Tu m'intéresses.......C'est à dire?

Si tu créés toi même ça veut dire que tu modifies de toute façon le php, non? et l'inconvénient qui n'en est pas un forcément, est qu'a chaque mise à jour les Modules dans le répertoire modules sont écrasés* .

* en meme temps que j'écris, je me disais qu'en renommant les blocks modifiés, on a pas se problème....

V++

Atch

Share this post


Link to post
Share on other sites

@Atch: effectivement, pour me familiarisé avec la nouvelle monture (j'avais tester les anciennes versions) je me suis amusé a créer des hook que j'ai déclarer dans header.php afin qu'il soit accessible dans n'importe quelle tpl :D La magie de ce genre de système !

Si tu veux j'ai un poste un peu plus détaillé -> http://www.prestashop.com/forums/viewthread/23715/#107444 sur la démarche effectué (bon j'avoue que c'est un peu bourrin comme façon de faire avec mon fichier install.php mais bon l'habitude de phpBB ^^')

Effectivement tu soulignes un point assez important, car effectivement si il y a une mise à jour le module va reprendre son positionnement d'origine... enfin après ça dépend aussi si ton theme à pour vocation d'être grand public ou non ^^
Si c'est pour toi tu t'en fou un peu.


Sinon quelqu'un aurai une démo d'un theme qui utilise le principe que Djolhan donne ?

Share this post


Link to post
Share on other sites

Merci Natsu pour les explications.

Mais dans ton exemples tu modifies deux fichiers hors theme

Header.php avec

'HOOK_EXEMPLE' => Module::hookExec('HookExemple'), 



et blockcart.php avec

 function hookLeftColumn($params)
   {
       return $this->hookRightColumn($params);
   }



Ces deux fichiers se trouvant hors du theme et seront écrasés par les nouvelles mise à jour.
Seul solution, est d'éditer ensuite les fichiers pour remettre les modifications et si la mise à jour est faite par une autre personne ça risque de faire boulette :).

Cela demande un peu de rigueur, un fichier texte avec les modifs à la racine par exemple.

Pour revenir au surclassement des modules dans le theme, il me semble que le fichier PHP pris en compte est celui du répertoire modules... A confirmer mais il me semble l'avoir lu sur le forum.

V++

Atch

Share this post


Link to post
Share on other sites

Atch, c'était pour la création des hook, j'étais sur un autre sujet ^^ c'était en réfrénce à de mes précédent message:

Sauf si tu en crées des plus explicite que ceux actuel ^^’


Il me semble aussi que le sur classement n'est pas possible en théorie à moi de demander au module de pointer dans la template et dans ce cas là ça dévient beaucoup plus modulable mais reste encore le pb des maj ^^' à moi que l'équipe de presta exporte les tpl de module vers les template et là seul les hook seront supprimer au passage des maj ;)

Share this post


Link to post
Share on other sites

Et bien, je peux te montrer une des boutiques que nous avons mis en ligne : www.terre-et-sens.fr qui fonctionne avec des tpl de module modifié, tous installés dans le dossier de thème. Après, nous n'avons pas eu besoin de modifier le php de la boutique, en tout cas, pas au niveau des modules donc, il n'y a que du tpl.

Share this post


Link to post
Share on other sites

N'étant pas du tout pro des modifications des themes en gros si g bien compris :

J'ai une 1ere boutique avec un theme X, auquel j ai modifié directement le .tpl dans le dossier /modules/produits phares

Je souhaite creer une autre boutique avec un theme Y, tout en gardant la présentation de mes produits phares de ma premiere boutique, il me suffit de copier le .tpl de mon module "produits phares" de ma 1ere boutique dans /themes/theme Y/modules/produits phares/ de ma nouvelle boutique ?

ca veut dire que le .tpl situé dans les dossiers " /mon theme/moduleX ", sont prioritaires a ceux situés dans les dossiers "modules /modulesX" ?

Moi qui pensais que pour filer un theme a un pote, je devais lui filer le theme et le dossier complet de chaque module modifié ....

Share this post


Link to post
Share on other sites

J'ai testé et effectivement ça fonctionne cependant ça a ses limites assez rapidement (j'ai en fait l'expérience sur mon module témoignage)
Lorsque l'on met les fichier des modules dans le dossier themes, les clé de langues ne sont plus pris en compte donc impossible de les traduire à moins d'avoir la tpl dans le dossier du module et dans le dossier du theme....

Share this post


Link to post
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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More