Marie Pixies Posted November 26, 2012 Share Posted November 26, 2012 (edited) Bonjour à tous, Voilà mon problème : Nous avons décidé de proposer sur notre site des chèques cadeaux grâce à un module dédié. Ce module crée des chèques cadeaux qui sont considérés comme de nouveaux produits dans notre boutique. Or, nous aimerions qu'ils soient "à part" pour deux raisons simples : - La page "product.tpl" est adaptée à nos produits mais pas aux chèques cadeaux. J'aimerais pouvoir personnaliser l'apparence des pages pour ces produits-là, rassemblés dans une catégorie dédiée. - Les chèques cadeaux apparaissent dans les Nouveautés, j'aimerais les masquer dans cette page-là. En l'occurrence je viens surtout pour le premier problème, à savoir comment modifier le code tpl seulement pour une catégorie ? J'ai essayé avec ça : {if $product->category!=cheques-cadeaux} <div>Contenu des pages produits "normales"</div> {/if} {if $product->category==cheques-cadeaux} <div>Contenu des pages produits "chèques cadeaux"</div> {/if} Ca ne marche pas, toutes les pages ressemblent à des pages normales. Quelqu'un peut m'aider ? Edited November 26, 2012 by Marie Pixies (see edit history) Link to comment Share on other sites More sharing options...
franckm1000 Posted November 26, 2012 Share Posted November 26, 2012 (edited) Il ne faut pas mettre un nom pour votre category mais un id. Regardez dans votre BO l'id de la catégorie chèques cadeaux (dans les catégories, l'ID est noté sur la gauche). Il faut utiliser id_category_default. Imaginons que la catégorie des chèques cadeaux est la 15: {if $product->id_category_default!=15} <div>Contenu des pages produits normales</div> {else} <div>Contenu des pages produits chèques</div> {/if} Edited November 26, 2012 by franckm1000 (see edit history) Link to comment Share on other sites More sharing options...
Marie Pixies Posted November 26, 2012 Author Share Posted November 26, 2012 (edited) Merci beaucoup pour cette réponse. J'ai modifié avec votre bout de code, en mettant l'id renseigné dans mon back-office. Par contre j'ai échangé pour des raisons d'habitude : {if $product->id_category_default==27} <div>Contenu des pages produits chèques</div> {else} <div>Contenu des pages produits normales</div> {/if} Edit : HUM ! J'avais oublié de forcer la compilation... Là ma page chèque cadeau est complètement vide (ce n'est pas normal) mais ça vient peut-être d'une simple erreur de syntaxe. Je tente de régler tout ça et je reviens au besoin. Merci encore, et désolée ! Edit : J'ai forcé la compilation, je suis repartie de zéro pour éviter les erreurs de syntaxes dans mon code, et tout marche bien. Merci encore franckm1000 Edited November 26, 2012 by Marie Pixies (see edit history) Link to comment Share on other sites More sharing options...
BENCASE Posted September 22, 2015 Share Posted September 22, 2015 Bonjour, Merci à vous c'est ce que je cherchais. Par contre, quelqu'un pourrait me dire comment faire la même chose mais en désignant plusieurs catégories, ou voir pour moi le top, une catégorie parent. Exemple : sur mon site je veux afficher une page produit différent pour la catégorie A et les autres reste normal. Sauf que dans ma catégorie A il y a encore des sous catégories, et quand j'utilise cette fonction en désignant l'id de la catégorie parent, ça ne fonctionne pas. A la limite je pourrais désigner toutes les sous-catégories concernées, mais je ne sais pas comment en appeler plusieurs, du genre : {if $product->id_category_default==3,5,8,11} Pour info je ne suis pas du tout coddeur je débute, mais j'essaye de mettre les mains dans le cambouis ^^. Merci par avance, Bien à vous, Ben. Link to comment Share on other sites More sharing options...
BENCASE Posted November 16, 2015 Share Posted November 16, 2015 (edited) Bonjour, il y a quelques temps j'avais réussis à trouver la solution pour appeler plusieurs catégories, il suffisait d'ajouter des "||" entre les formules comme ceci : {if $product->id_category_default==27 || $product->id_category_default==28 || $product->id_category_default==32 } <div>Contenu des pages avec produit personnalisable</div> {else} <div>Contenu des pages produits normales</div> {/if} Et ça fonctionnait. Je reviens vers vous car aujourd'hui je n'arrive plus a appeler mes catégories, à l'époque où j'avais réussi mes essais, j'étais sous le thème par défaut de prestashop, depuis je suis passé sous un autre thème " SHOPPY". Et maintenant que j'essaye de remettre en place cette fonction, ça ne marche plus . Mon but étant d'afficher une bannière jpg dans product.tpl pour les catégories de produits qui sont personnalisable, et afficher normalement pour les autres produits. Je met en place la fonction comme vu au dessus avec une seule catégorie dans un premier temps pour mettre en place, mais ça ne marche pas, le produit s'affiche avec les paramètre situé dans les <div> de {else}. J'avais remarqué à l'époque qu'il fallait que j'appel les catégories parent des produits, et non pas des catégories de catégorie sinon sa ne marchait pas : En gros j'ai la catégorie PERSONNALISATION qui contient plusieurs catégories qui elles même contiennent les produits. Si j'appelais la catégorie mère par son id, ça ne fonctionnait pas, il fallait que j'appelle toutes les catégories contenant mes produits. J'espère que vous pourrez me venir en aide, je me tire les cheveux la, il ne me manque quasiment plus que ça pour avoir ma boutique opérationnel et commencer l'activitée.. Merci par avance, Benjamin. www.bencase.fr Edited November 16, 2015 by BENCASE (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted November 17, 2015 Share Posted November 17, 2015 (edited) est mieux fait avec un array {if in_array($product->id_category_default, array(12,13,14,15,20,22,35,55))} Edited November 17, 2015 by ventura (see edit history) 1 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