Jump to content

Affichage de groupes selon caractéristiques


Recommended Posts

Bonsoir,

J'ai un catalogue produit qui présente des produits de plusieurs types.
Je les affiche aujourd'hui facilement en fonction de leur fabricant.

FABRICANT A
produit 1
produit 2
produit 3

FABRICANT B
produit 4
produit 5
produit 6

J'ai modifié mon template pour qu'il me fasse ça. Cependant j'aurais un autre besoin sûrement dans le même style mais au lieu de tester le supplier qui est unique pour chaque produit (facile !), je souhaiterais rajouter un bloc à la fin groupant tous les produits ayant la caractéristique A égale à 1 !

CARACTERISTIQUE A
produit 7
produit 8
produit 9

Sachant que l'idéal c'est que si le produit 4 du fabricant B venait à avoir une caractéristique A égale à 1, il faut qu'il disparaisse du groupe "fabricant B" pour n'apparaître qu'une seule fois...

Est-ce que quelqu'un pourrait m'aider la dessus ??
Merci.

Link to comment
Share on other sites

merci Samy de te joindre à moi

Les caractéristiques sont toujours les mêmes mais ne sont pas forcément renseignées dans tous les produits (valeurs nulles pour certains).
Je ne peux donc pas accéder à un rang x fixe de mon tableau de caractéristiques :'(

Link to comment
Share on other sites

j'me suis organisé de la sorte... dans le product_list.tpl

j'ai dupliqué l'affichage des produits en ajoutant les conditions suivantes :

></pre>
<ul>
</ul>
<h1> Produits du constructeur A</h1>
<br>   {foreach from=$products item=product name=products}<br>       {if $product.manufacturer_name == "A"}  <br>                ..... affichage classique<br>        {/if}<br>   {/foreach



même principe pour mon constructeur B, C...
objectif atteint donc à ce niveau là avec cette méthode.

même si ça me parait un peu lourd au final, j'ai tenté d'englober ces multiples affichages, j'ai certains produits que je ne veux donc pas afficher dans ces premiers blocs... ceux qui ont une caractéristique X = 1.

{foreach from=$product.features item=feature}
           {if $feature.name == "Complémentaire" && $feature.value != '1'}

mon produit 

{/if}
{/foreach}

Link to comment
Share on other sites

OK
donc, il m'affiche bien les produits à condition que la caractéristique "Complémentaire" soit différente de 1.
Le problème, c'est quand cette caractéristique est nulle...
elle n'est pas égale à 0 donc il ne m'affiche pas mon bloc vu qu'il ne peut établir la comparaison j'imagine...

dois-je mettre une valeur par défaut à 0 et forcer un non-nul dans la base pour régler ça peut être ?

Link to comment
Share on other sites

Même problème, si mes caractéristiques sont à 0 tout va bien.
Si elles sont nulles, les produits ne s'affichent pas...

=:'(

je vous mets le bout de code de mes listes ??
(j'ai l'impression d'avoir déjà répondu y'a quelques minutes...)

>
</pre>
<ul>
</ul>
<h1> Produits de marque constructeur {$product.manufacturer_name}</h1>
<br>   {foreach from=$products item=product name=products}<br>       {if $product.manufacturer_name != "A" && $product.manufacturer_name != "B"}<br><br><br>{foreach from=$product.features item=feature}<br>                                   <!--affiche uniquement la caractéristique "Le +" si non nulle--><br>                                       {if $feature.name == "Complémentaire" && ($feature.value == null || $feature.value != 1 || $feature.value == 0)}<br><br><br>affichage classique d'un produit<br><br><br>{/if}<br>{/foreach}<br><br><br>               {/if}<br>   {/foreach}<br

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