Jump to content

Un css différent par catégorie de produit


Recommended Posts

Bonjour tt le monde,

 

Je souhaite changer le design de ma liste de produit par catégorie. En avoir une assgné pour caque catégorie de produit.

Comme ca quand on cilque sur la catégorie de produit on a un design différent. Et quand on clique sur les produits de la catégorie ca prend aussi en compte ce design.

 

J'ai essayé plusieurs manip en vain !

 

Au secours S'il vous plait !!!

Link to comment
Share on other sites

Il faut apparemment modifier le fichier header.tpl et replacer

<body {if $page_name}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}

 

par :

 

<body {if $page_name}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}{if $smarty.get.id_category} class="category{$smarty.get.id_category}"{elseif $default_category} class="category{$default_category}"{/if}{if $smarty.get.id_product} class="product{$smarty.get.id_product}"{elseif $default_product} class="product{$default_product}"{/if}>

 

Mais ca ne change rien pour moi !!!!

Un petit coup de pouce d'un gros génie ?

Link to comment
Share on other sites

Hello,

 

Alors je ne sais pas si c'est moi qui ai marqué cela sur un autre post mais il est déconseiller d'utiliser directement $smarty.get.qqchose pour l'impression.

 

Si c'est pour le tester d'accord, l'écrire par contre il faut caster sinon ca sent la XSS a plein nez (le escape n'est pas là pour rien hein).

 

<body{if $page_name} id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}{if isset($smarty.get.id_category)} class="category_{$smarty.get.id_category|intval}"{/if}{if isset($smarty.get.id_product)} class="product_{$smarty.get.id_product|intval}"{/if}>

 

(pas testé)

 

Je ne vois pas d'où sort $default_product. Je ne le trouve pas en 1.4 en tout cas.

 

Cheers !

Link to comment
Share on other sites

Par contre là ce code met une classe par produit. Cela n'est pas la classe de la catégorie du produit et je ne crois pas que ce soit possible de récupérer la catégorie du produit au niveau du header en smarty. Cette info on ne l'a que bien plus tard dans la page produit ou dans le module blockategories. Autant cela marche pour les catégories autant pour les produits il faut coder en php, probablement dans une surcharge de ProdutController::preProcess ou ProdutController::process dans /override/controllers/. Donc c'est bien plus compliqué que cela en a l'air pour les produits.

Link to comment
Share on other sites

  • 1 year later...
  • 4 weeks later...

Bonjour, je l'ai réalisé pour un client. Mais le site est en construction.

Si vous cherchez la solution, je connais un super développeur qui sais le faire.

Je dois mettre le site en ligne dans 1 semaine, comme cela vous verrez que ça marche.

Pour celui que ça intéresse toujours ...

Link to comment
Share on other sites

Il est aussi possible de procéder de cette façon si vous n'avez pas 350 catégories.

<body class="{if $category->id == '7'} MaClasseSpeciale {/if}" // Remplacer 7 par l'ID de la catégorie à cibler et y insérer la classe désirée.

</body>

Fonctionne très bien sur 1.5.6.2.

 

Pour les cats parentes : $category->id_parent

Edited by Qazema (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...