Jump to content

Background pour une catégorie et ses produits.


Recommended Posts

Bonjour je recherche depuis plusieurs heures une façon d'intégrer un background propre à une catégorie et à ses produits.

 

J'ai donc placé ce code dans le header

<body {if isset($page_name)}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}{if $smarty.get.id_category} class="cat{$smarty.get.id_category}{if $hide_left_column} hide-left-column{/if}{if $hide_right_column} hide-right-column{/if}{if $content_only} content_only{/if}"{elseif $default_category} class="cat{$default_category}{if $hide_left_column} hide-left-column{/if}{if $hide_right_column} hide-right-column{/if}{if $content_only} content_only{/if}"{/if}>

Et lié en css un background propre à la class de ma catégorie.

 

Cette technique fonctionne bien pour la page catégorie mais dès que je rentre sur un produit je n'ai plus la class dans le header.

 

Quelqu'un à une idée?

 

Merci

Link to comment
Share on other sites

Sur une version 1.6.1.2 de prestashop le code dans header.tpl est le suivant pour body :
 

<body{if isset($page_name)} id="{$page_name|escape:'html':'UTF-8'}"{/if} class="{if isset($page_name)}{$page_name|escape:'html':'UTF-8'}{/if}{if isset($body_classes) && $body_classes|@count} {implode value=$body_classes separator=' '}{/if}{if $hide_left_column} hide-left-column{else} show-left-column{/if}{if $hide_right_column} hide-right-column{else} show-right-column{/if}{if isset($content_only) && $content_only} content_only{/if} lang_{$lang_iso}">

ce qui donne sur une page produit, par exemple :
 

<body class="product product-2 product-blabla category-5 category-machin hide-left-column hide-right-column lang_fr" id="product">


en se basant sur ces résultats, on voit qu'on pourrait peut-être utiliser ces infos :
 

class="category-5 category-machin"

pour mettre un background en css sur ces pages en fonction du nom de la categorie ou son ID.

Edited by Guest (see edit history)
Link to comment
Share on other sites

Je suis intéressé par cette réussite Valdeck. Tu peux expliquer comment tu as fait ? :)

Merci !

Hello TonydInstArt

 

Alors voici le code que j'ai ajouté à mon header.tpl

<body {if isset($page_name)}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}{if $smarty.get.id_category} class="cat{$smarty.get.id_category}{if $hide_left_column} hide-left-column{/if}{if $hide_right_column} hide-right-column{/if}{if $content_only} content_only{/if}"{elseif isset($category)}class="cat{$product->id_category_default}{if $hide_left_column} hide-left-column{/if}{if $hide_right_column} hide-right-column{/if}{if $content_only} content_only{/if}"{elseif $default_category} class="cat{$product->id_category_default}{if $hide_left_column} hide-left-column{/if}{if $hide_right_column} hide-right-column{/if}{if $content_only} content_only{/if}"{/if}>

Avec ça tu auras une class du nom de ta catégorie dans la page de la catégorie ainsi que dans la page d'un produit de cette catégorie et ainsi tu pourras appliquer un background spécifique à cette class.

 

;-)

Edited by valdeck (see edit history)
  • Like 1
Link to comment
Share on other sites

Merci Valdeck !

 

Bon, faut maintenant que j'apprenne à lier le background en CSS (couleur ou image possible ?). Je débute hein. ;-)

 

Je garde le bout de code et je cherche la suite à moins que tu ne sois pas contre m'en dire plus. ;-)

 

1- Alors mets le bout de code dans le header.tpl

2- Regardes la class crée dans le <body> de ta page (clic droit -> examiner l'élément sur firefox)

    ex : Pour moi <body id="category" class="cat8210073">

3- Va dans le dossier global.css de ton théme (/themes/ton-theme/css/global.css)

4- Crées un class avec le nom de l'étape 2 et un syle de background. Soit image (avec l'url de ton image) ou couleur.

ex :

 .cat8210073{background: transparent url("http://ton-url-de-site/themes/nom-de-ton-theme/img/nom-de-ton-image.jpg") no-repeat fixed center cover;}

Regardes ici pour plus de détails : http://css.mammouthland.net/image-de-fond-background-css.php

 

Et voila ;-)

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...