Jump to content

Page produit .tpl différente selon la catégorie de produits


Recommended Posts

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 by Marie Pixies (see edit history)
Link to comment
Share on other sites

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 by franckm1000 (see edit history)
Link to comment
Share on other sites

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 by Marie Pixies (see edit history)
Link to comment
Share on other sites

  • 2 years later...

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

  • 1 month later...

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 by BENCASE (see edit history)
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...