Bonjour,
Il y a déjà plusieurs discussions avec ce type de question mais aucune ne réponds vraiment à mon problème (en fait j'ai un bon résultat mais avec un pbm):
Je veux afficher des produits qui ont une certaine valeur pour une certaine caractéristique. Pour imager, ce sont des cosmétiques, j'ai une caractéristique (id=1) qui est la forme galénique (creme, lait, cachet, etc...). Je veux afficher "creme", la liste des produits qui ont cette valeur, puis "lait", la liste des produits qui ont cette valeur, etc ... Evidemment, si je n'ai aucun produit sous forme de cachet, je ne veux pas afficher "cachet".
<THELIA_formegal type="CARACDISP" caracteristique="1-">
#TITRE (--> affiche "creme", "lait" , ...)
<THELIA_prod type="PRODUIT" rubrique="#RUBRIQUE_ID" caracteristique="1-" caracdisp="#ID">
<a href="#URL">#TITRE</a>
#PRIX €
<a href="panier.php?action=ajouter&ref=#REF" title="Ajouter au panier">Ajout</a>
</THELIA_prod>
</THELIA_formegal>
Dans le code ci-dessus j'ai supprimé la mise en forme, j'ai bien mis les sauts de lignes nécessaires quand j'ai fait des essais avec des boucles conditionnelles.
Mon premier pbm est que la boucle ci-dessus marche quand j'ai au moins un produit pour une forme galénique donnée. Si j'en ai 0, et ben ça m'affiche tous les produits de la rubrique pour chaque valeur de la forme galénique (dans mon test j'ai 4 cremes, 1 lait, 0 cachet, et ben ça marche bien pour creme et lait, mais je me retrouve avec 5 cachets, produits qui sont en fait des cremes et laits). Déjà à ce niveau, je pige pas pourquoi la boucle prod me liste des produits qui ne repondent pas au conditions posées ( caracteristique="1-" caracdisp="#ID")
Ensuite j'ai fait des tas d'essais de boucles conditionnelles pour qu'une forme galénique qui n'a aucun produit ne s'affiche pas, impossible de trouver une solution (ce qui ne m'étonne guère étant donné le résultat ci-dessus, puisque une forme galénique vide retourne tous les produits, je vois pas comment la boucle conditionnelle pourrait fonctionner ...).
Si quelqu'un a eu le courage de lire jusqu'au bout ...
Mci d'avance. Pierre.