Franck Brignoli Posted May 7, 2012 Share Posted May 7, 2012 Bonjour, Il est possible depuis quelques semaines d'avoir un layout / template différent par page (utilisable sur tous les FrontController) Ex: On peut maintenant avoir pour la fiche produit de l'ipod Nano un layout sans les 2 colonnes et avec une image de background différente du reste du site. Override du layout Par défaut on utilise le fichier layout.tpl du theme, ensuite 2 niveau d'override sont définis: L'entitéex: Je souhaite modifier le layout de la fiche produit ou l'id produit est égal à 1. On crée un fichier /themes/default/override/layout-product-1.tpl Le type d'entitéex: Je souhaite changer le layout de toutes les pages catégories On crée un fichier /themes/default/override/layout-category.tpl Override du template De ce coté là, c'est plus une feature technique, dans le sens ou on ne fait rien de notre coté automatiquement. On permet simplement aux developpeurs de modifier dynamiquement le template en surchargeant la méthode getOverrideTemplate d'un FrontController 6 Link to comment Share on other sites More sharing options...
Broceliande Posted May 8, 2012 Share Posted May 8, 2012 Excellent ! Link to comment Share on other sites More sharing options...
Dev On Web Posted May 9, 2012 Share Posted May 9, 2012 Ha oui c'est fort ça ! J'avais override le contrôlleur produit pour assigner un autre template suivant des conditions particulières personnellement mais cette méthode parait plus light, plus facile et plus clean Je vais aller voir le fameux getOverrideTemplate de ce pas ! Link to comment Share on other sites More sharing options...
olea Posted May 9, 2012 Share Posted May 9, 2012 Intéressant comme fonctionnalité. Est-il envisageable de pouvoir spécifier un mayout de page produit pour tous les produits d'une catégorie donnée (et non produit par produit) ? Link to comment Share on other sites More sharing options...
Franck Brignoli Posted May 10, 2012 Author Share Posted May 10, 2012 Salut Olea, Ce n'est pas possible pour l'instant et ce n'est pas prévu pour la 1.5.0. Link to comment Share on other sites More sharing options...
jherry Posted May 11, 2012 Share Posted May 11, 2012 (edited) Bonjour, J'ai créé un fichier layout-product.tpl comme indiqué dans /themes/default/override/layout-product.tpl avec des header et footer specifiques (sans les colonnes de droite et de gauche) mais rien ne change. J'ai pourtant vidé le cache de smarty (celui du theme est vide). J'ai oublié quelque chose? J'ai la version 1.5.0.9 de PS Merci. Edited May 11, 2012 by jherry (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted May 11, 2012 Share Posted May 11, 2012 Est-il envisageable de pouvoir spécifier un layout de page produit pour tous les produits Ce n'est pas possible pour l'instant et ce n'est pas prévu pour la 1.5.0. Essaye avec /themes/default/override/layout-product-1.tpl et teste pour le produit "1" , ça devrait fonctionner Link to comment Share on other sites More sharing options...
olea Posted May 11, 2012 Share Posted May 11, 2012 @coeos.pro Je suggérais de pouvoir faire un layout produit différent suivant la catégorie à laquelle le produit appartient. D'un sens, si le produit appartient à plusieurs catégories, ca n'est pas trivial de savoir quel layout appliquer Link to comment Share on other sites More sharing options...
coeos.pro Posted May 11, 2012 Share Posted May 11, 2012 ok, effectivement j'avais pas compris ça comme ça, tu veux appliquer un layout sur les produits EN FONCTION de leur catégorie Link to comment Share on other sites More sharing options...
Semaphore Posted June 25, 2012 Share Posted June 25, 2012 Bonjour, Et donc au final est-il possible qu'un produit reçoive un template fonction de sa catégorie par défaut ? Pour Allez plus loin le top serai un template par catégorie pour afficher aussi le listing des produits selon un template/css particulier. Ex : Voiture=>Renault => Cadres des produits jaunes dans le listing => mise en page spéciale pour les renault dans la fiche produit Voiture=>Peugeot=>Cadre bleu dans le listing => etc Possible ou pas ce genre de détails que les clients apprécient (par petite touche évidemment)? ^^ Link to comment Share on other sites More sharing options...
Franck Brignoli Posted June 25, 2012 Author Share Posted June 25, 2012 Bonjour, Non ce n'est pas possible "nativement" mais avec un peu de dev custom ce n'est pas infaisable, c'est même plus simple que sur une 1.4. Link to comment Share on other sites More sharing options...
coeos.pro Posted June 25, 2012 Share Posted June 25, 2012 Bonjour, Et donc au final est-il possible qu'un produit reçoive un template fonction de sa catégorie par défaut ? Pour Allez plus loin le top serai un template par catégorie pour afficher aussi le listing des produits selon un template/css particulier. Ex : Voiture=>Renault => Cadres des produits jaunes dans le listing => mise en page spéciale pour les renault dans la fiche produit Voiture=>Peugeot=>Cadre bleu dans le listing => etc Possible ou pas ce genre de détails que les clients apprécient (par petite touche évidemment)? ^^ comme par exemple avec ce nouveau module : http://www.prestashop.com/forums/topic/174997-module-personnalisation-des-pages-produits-et-categories/page__p__860298?do=findComment&comment=860298 ? il est possible de personnaliser les pages produits, les pages catégories et les pages produits en fonction de leur catégorie Link to comment Share on other sites More sharing options...
Dev On Web Posted June 25, 2012 Share Posted June 25, 2012 Bonjour, Non ce n'est pas possible "nativement" mais avec un peu de dev custom ce n'est pas infaisable, c'est même plus simple que sur une 1.4. +1, avec un override du contrôleur produit, on peut facilement imaginer l'assignation d'un template différent selon sa catégorie par défaut. Link to comment Share on other sites More sharing options...
Semaphore Posted June 25, 2012 Share Posted June 25, 2012 Découvrant le techno-environnementde presta je m'aperçois de la puissance et faicilité de l'override des classes core. Après même si je peux facilement "imaginer" cet override j'ai plus de mal à le coder étant plus intégrateur+chef de pro. que dev pur souche. Y a-til une piste déjà postée qque part à suivre ou non ? Désolé si la question est orientée "qui la fait pour moi ?" mais dans l'univers joomla il y a tellement de chose déjà faite que les réponses sont soucvent déjà connues de quelqu'uns. Merci de votre aide Link to comment Share on other sites More sharing options...
coeos.pro Posted June 25, 2012 Share Posted June 25, 2012 en fait il y a plusieurs solutions possible, Dev on web t'en a donné une (override du contrôleur produit) pour mon module j'utilise les hooks, si tu veux mettre les "mains dans le cambouis" tu peux t'attaquer aux tpl... Link to comment Share on other sites More sharing options...
Rtransat Posted July 23, 2012 Share Posted July 23, 2012 (edited) C'est un peu le même principe que WordPress : http://codex.wordpre...e_Hierarchy.png Un plus pour prestashop alors . Justement je commence à me mettre à prestashop et je trouve que c'est pas facile du tout pour un CMS. Par exemple si je veux créer un thème de A à Z je ne sais pas par quoi commencer :/. Surtout si je crée juste un dossier css, img et js pour commencer, comment savoir ce qui gère le JS, les noms des classe, id html etc ? Si on regarde pas le thème par défaut au final on ne sait pas :/ et je trouve ça dommage qu'il n'y ai pas une API comme WordPress. Je viens de regarder quelque tuto pour placer un block ou l'on veut avec des hook personnalisé, c'est la même chose c'est pas "propre" du tout de devoir aller dans la base de donnée pour ajouter une valeur, il faudrait dans le meilleur des cas ajouter ce hook depuis l'administration. Je sais que prestashop est puissant en terme de CMS e-commerce mais pour nous développeur je pense qu'il y a nettement moyen de l'améliorer (déjà l'override est une bien bonne nouvelle ) Et merci à l'équipe derrière Prestashop . Si vous suivez la voix de WordPress alors vous êtes sur la bonne voix pour nous les développeurs (comment ça je fais l'apologie de WordPress ? ) PS : Pourquoi utiliser Smarty ? (aucun moteur de tpl serait aussi bien :trollolol: ) ou alors Twig :retroll: Edited July 24, 2012 by Rtransat (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted July 24, 2012 Share Posted July 24, 2012 Dites, ... Si j'ai un module qui a un hook tel que DisplayAdminHomeInfos pour lequel un tpl est passé et que les données sont, normalement, traduites au sein du module (les traductions sont bien là), comment faire pour qu'elles le soient dans le tpl aussi ? Autant quand il s'agit d'un autre theme en front-office je comprends le mécanisme, autant quand il s'agit d'un autre thème au sein du back-office, non. En bref, les traductions ne sont pas prises en compte. Une idée ? Link to comment Share on other sites More sharing options...
coeos.pro Posted July 24, 2012 Share Posted July 24, 2012 (edited) Dans ton tpl tu dois avoir : {l s='Click me!' mod='mymodule'} n'oublie pas le "mod" SOURCE : http://doc.prestashop.com/pages/viewpage.action?pageId=3801216#Cr%C3%A9erunmodulePrestaShop-Traductiond%27unmodule Edited July 24, 2012 by coeos.pro (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted July 24, 2012 Share Posted July 24, 2012 Le problème, c'est que ça y est... Mais la structure du module est tel que...: * nomdumodule -- view/templates/hooks/hookDisplayAdminHomeInfos.tpl J'ai d'abord fait les traductions dans le controller lui-même (car c'est une liste générée) et dans les traductions, le tout est bien traduit. Or, comme j'utilise un autre theme dans le back office (et je pense que ça vient de là), rien n'est traduis. Actuellement, j'ai mis en FR (de toutes, la boutique est purement FR et le module ne sera pas distribué), mais bon Link to comment Share on other sites More sharing options...
doodu94 Posted August 15, 2012 Share Posted August 15, 2012 bonjour cete méthode n'est valable que pour la 1.5 ? Link to comment Share on other sites More sharing options...
speedev Posted August 22, 2012 Share Posted August 22, 2012 bonjour, cela m'intéresse, j'essaye d'utiliser le principe pour les pages de commande et en l'occurrence le one page command mais sans succès. j'ai créé ce fichier themes/montheme/override/layout-order-opc.tpl c'est bien ça ? Link to comment Share on other sites More sharing options...
speedev Posted August 22, 2012 Share Posted August 22, 2012 oops erreur de ma part c'était layout-orderopc.tpl (sans le tiret) Link to comment Share on other sites More sharing options...
chris13 Posted August 27, 2012 Share Posted August 27, 2012 Bonjour est-il possible d'afficher toutes les déclinaisons sous forme de la liste, avec pour chacune un bouton "ajouter au panier" ? Exemple sur ce site : http://www.delta-peche.com/detecteur-de-touche-carpe/10817-detecteur-de-touche-cap-spirit-xs.html Merci. Link to comment Share on other sites More sharing options...
coeos.pro Posted August 27, 2012 Share Posted August 27, 2012 oui bien sure, en plus l'exemple que vous donnez est une boutique prestashop (développée par Magavenue : http://www.magavenue.com/blog/) Link to comment Share on other sites More sharing options...
chris13 Posted August 27, 2012 Share Posted August 27, 2012 Il y a t-il un module qui permet d'afficher de cette manière ? Ou bien un thème ? En fait je souhaiterais pouvoir afficher des produits de cette manière (déclinaisons en liste), et d'autres normalement (avec les attributs sélectionnables). Link to comment Share on other sites More sharing options...
coeos.pro Posted August 27, 2012 Share Posted August 27, 2012 à ma connaissance non, en tout cas je n'ai pas vu de tel module, c'est plus du sur-mesure, surtout si c'est en fonction du produit Link to comment Share on other sites More sharing options...
chris13 Posted August 27, 2012 Share Posted August 27, 2012 Ok je vais voir ça merci. Link to comment Share on other sites More sharing options...
cghisi Posted September 4, 2012 Share Posted September 4, 2012 (edited) Bonjour, je suis en train de faire des tests d'override sur mon thème. J'essaie de réaliser un surcouchage sur product-list.tpl, j'ai donc créé le fichier themes/default/override/layout-productlist.tpl et rien ne ce passe. J'ai fais quelques tests sur category.tpl et la aucun problème. Quelqu'un aurait il une idée ? Edited September 4, 2012 by cghisi (see edit history) Link to comment Share on other sites More sharing options...
speedev Posted September 4, 2012 Share Posted September 4, 2012 je suis en train de faire des tests d'override sur mon thème.... j'ai donc créé le fichier themes/default/override/layout-productlist.tpl Ton thème est le thème "default" ? Link to comment Share on other sites More sharing options...
cghisi Posted September 4, 2012 Share Posted September 4, 2012 (edited) Oui, je réalise des tests sur le thème "default". Edited September 4, 2012 by cghisi (see edit history) Link to comment Share on other sites More sharing options...
cghisi Posted September 5, 2012 Share Posted September 5, 2012 (edited) Après avoir fais quelques recherches supplémentaires, j'ai réussi a afficher les layout de la page . Il semblerait que je ne puisse pas surcharger product-list.tpl qui est appelé depuis catégory.tpl mais uniquement category.tpl. Je ne vois donc pas comment je peux modifier le visuel des produits affichés dans une catégorie. De plus en faisant des tests avec "/override/layout-category.tpl", lorsque je réalise une modif dans ce fichier, le header, le footer et le style de ma page disparait. Je pense que j'ai du louper un truc concernant l'override du thème. Edited September 5, 2012 by cghisi (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted September 5, 2012 Share Posted September 5, 2012 Ce que je ne comprends pas, c'est ton "layout-". Peux tu tester en le retirant du nom du fichier, par hasard ? Link to comment Share on other sites More sharing options...
cghisi Posted September 5, 2012 Share Posted September 5, 2012 De ce que j'ai pu lire précédemment il semble que pour surcharger un fichier tpl. Celui-ci doit ce nommer "layout-nomdufichier.tpl" dans le dossier "override" du thème . Je viens de faire le test en enlevant "layout-" mais cela ne fonctionne pas aucune modif n’apparaît sur la page. Link to comment Share on other sites More sharing options...
speedev Posted September 5, 2012 Share Posted September 5, 2012 tu peux overrider category.tpl avec layout-category.tpl et à l'intérieur au lieu d'appeler product-list.tpl tu appelles ton override. (non ?) Link to comment Share on other sites More sharing options...
cghisi Posted September 5, 2012 Share Posted September 5, 2012 Cette solution fonctionne, il ne me reste plus qu'a trouver pourquoi le header et le footer disparaissent lorsque j'override category. Merci Link to comment Share on other sites More sharing options...
devprestacom Posted September 21, 2012 Share Posted September 21, 2012 Bonjour, C'est très intéressant, je vais regarder de près Cordialement, Link to comment Share on other sites More sharing options...
J. Danse Posted September 21, 2012 Share Posted September 21, 2012 (edited) Bonsoir, Je sèche un peu et j'ai pas trop le temps (l'envie ?) de chercher... l'override de template en admin fonctionne-t-il ? Si oui, comment ?! Edit Je me trompais... Voici: /override/controllers/admin/templates/products/ pour un fichier tpl du controller Product de Back Office, par exemple. Edited September 21, 2012 by J. Danse (see edit history) Link to comment Share on other sites More sharing options...
ChDUP Posted October 21, 2012 Share Posted October 21, 2012 est-il possible selon le meme prinicipe de surcharger le layout de la page d'accueil ? j'ai essayé un layout-index.tpl sans succès Link to comment Share on other sites More sharing options...
sjousse Posted October 23, 2012 Share Posted October 23, 2012 est-il possible selon le meme prinicipe de surcharger le layout de la page d'accueil ? j'ai essayé un layout-index.tpl sans succès En regardant la fonction FrontController->getLayout() qui choisit le layout en fonction du controller et des override, dans le cas de la homepage, il prend toujours le layout par défaut (theme/<nom_du_theme>/layout.tpl Donc pas moyen de surcharger le layout de la page d'accueil uniquement. Un fix à prévoir pour une prochaine version à mon avis. En attendant, 2 solutions : surcharger la méthode FrontController->getLayout() pour gérer le cas de la homepage modifier le layout par défaut pour la page d'accueil, et surcharger tous les autres layout Personnellement, je partirai plutôt sur la solution 1. Link to comment Share on other sites More sharing options...
ChDUP Posted October 23, 2012 Share Posted October 23, 2012 merci sjousse j'ai entre-temps ouvert un topic specifique à ma problématique sur lequel on m'a aussi conseillé de regarder du côté de getLayout http://www.prestashop.com/forums/topic/196266-utiliser-un-template-different-pour-la-homepage/ mais je n'ai pas vraiment le niveau pour me lancer la-dedans Link to comment Share on other sites More sharing options...
Myst26 Posted November 30, 2012 Share Posted November 30, 2012 (edited) Cette solution fonctionne, il ne me reste plus qu'a trouver pourquoi le header et le footer disparaissent lorsque j'override category. Merci j'ai exactement le meme problème, mon header et footer disparait ( il ne charge pas les haeder et footer ) as tu trouvé une solution de ton côté? Merci [EDIT] Je m'auto répond. en allant voir du côté de la fonction getLayout() du controller FrontController, on se rend compte que le fichier layout est complétement écrasé si une entité existe. Donc il faut remettre au tout début du fichier layout-category.tpl, l'appel au header.tpl, et à la fin l'appel au footer.tpl Edited November 30, 2012 by Myst26 (see edit history) Link to comment Share on other sites More sharing options...
cghisi Posted December 7, 2012 Share Posted December 7, 2012 de mon coté je n'ai pas eu le temps de me replonger sur Prestashop 1.5, je suis actuellement sur d'autres projets. Donc Je n'ai pas pu trouver de solution et j'avais un peu abandonner. Je viens de voir que tu avais trouver une solution, dès que je me remet sur Prestashop je teste celle-ci afin de voir. Du coup pour toi tous fonctionne correctement ? Link to comment Share on other sites More sharing options...
J. Danse Posted December 26, 2012 Share Posted December 26, 2012 Bonjour à tous, J'ai remonté cette information au sein de la documentation: http://doc.prestashop.com/display/PS15/Changes+in+version+1.5+which+impact+theme+development#Changesinversion1.5whichimpactthemedevelopment-Newtemplate N'hésitez pas à en discuter, au besoin ! Link to comment Share on other sites More sharing options...
laothale Posted June 1, 2013 Share Posted June 1, 2013 Bonsoir, J'ai suivi ce topic.. Je l'ai appliqué en créant un fichier /themes/default/override/layout-product-1.tpl Correction pour le header et le footer ok. Les modifications en css s'appliquent bien. Seul soucis. Je n'arrive pas à appliquer les traductions. Les traductions apparaissent en backoffice dans le block layout-product-1.tpl, ainsi que sur le fichier fr.php du répertoire de lang du theme. Cependant, en front, le texte n'est pas traduit... Version PS 1.5.4.0 Thème : default Une piste serait la bienvenue. Merci d'avance Link to comment Share on other sites More sharing options...
Centaure Posted December 10, 2013 Share Posted December 10, 2013 Bonjour, ce sujet m'intéresse et je voulais savoir si à l'heure actuelle quelqu'un pouvait me dire quelle est LA solution pour appliquer un thème par catégorie (et leur sous catégories et produits bien sûr) Merci par avance Link to comment Share on other sites More sharing options...
arnolem Posted February 6, 2014 Share Posted February 6, 2014 Bonjour, ce sujet m'intéresse et je voulais savoir si à l'heure actuelle quelqu'un pouvait me dire quelle est LA solution pour appliquer un thème par catégorie (et leur sous catégories et produits bien sûr) Merci par avance Salut, As-tu trouvé l'information entre temps ? On est bien d'accord, layout-category-XX.tpl permet de modifier le layout pour cette catégorie uniquement ? Pas pour les sous-catégorie et les produits qui s'y trouve ? Merci Link to comment Share on other sites More sharing options...
Centaure Posted February 6, 2014 Share Posted February 6, 2014 Bonjour, non je n'ai trouvé aucune solution pour l'instant, je ne me suis pas penché à fond dedans sans savoir quelle est la meilleure solution, car j'en ai trouvé plusieurs sur le net, mais je ne sais pas encore laquelle utiliser ... Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now