Bonjour, j'ai un bug quand je veux afficher l'image d'un produit lorsque j'ai 2 boucles avant d'arriver à la boucle image (en l'occurence, j'ai d'abord une boucle CARACVAL pour récupérer #CARACDISP, que j'utilise dans une boucle PRODUIT, puis dans cette boucle PRODUIT j'ai une 3ème boucle IMAGE.
Voilà le code :
<THELIA_motif type="CARACVAL" produit="#PRODUIT_ID" caracteristique="? echo $cfg['id_carac_motif'] ; ?">
<h2 class="h2b"><a href="motifs.php?id_motif=#ID"><img src="./require/titre_rub_gfx.php?titre=Motif : #VALEUR" alt="Motif : #VALEUR" /></a></h2>
<THELIA_motifs type="PRODUIT" caracteristique="? echo $cfg['id_carac_motif'] ; ?" caracdisp="#CARACDISP" classement="aleatoire" num="4">
#INCLURE "cadreproduit.html"
</THELIA_motifs>
<div style="clear:both;"></div>
</THELIA_motif>
<!-- CADRE PRODUIT -->
<div class="<?php echo $cfg['cadreproduit']['type'] ; ?> cp_left">
<div class="image">
<a href="<?php if ( @$rewrite ) echo '#REWRITEURL' ; else echo '#URL' ; ?>">
<T_divers_image>
<THELIA_divers_image type="IMAGE" num="1" produit="#ID" largeur="? echo $cfg['cadreproduit']['largeur'] ; ?" hauteur="? echo $cfg['cadreproduit']['hauteur'] ; ?">
<img src="#IMAGE" alt="#TITRE" />
</THELIA_divers_image>
</T_divers_image>
<img src="./gfx/tshirt_defaut.jpg" width="<?php echo $cfg['cadreproduit']['largeur'] ; ?>" height="<?php echo $cfg['cadreproduit']['hauteur'] ; ?>" alt="#TITRE" />
<//T_divers_image>
</a>
</div>
<div class="droite">
<h3><a href="<?php if ( @$rewrite ) echo '#REWRITEURL' ; else echo '#URL' ; ?>">#STRIPTITRE</a></h3>
<div class="prix"><a href="<?php if ( @$rewrite ) echo '#REWRITEURL' ; else echo '#URL' ; ?>">#PRIX €</a></div>
</div>
</div>
<!-- // CADRE PRODUIT -->
Mon problème est que le #ID de ma boucle THELIA_divers_image n'est pas interprété par la boucle PRODUIT, si j'echo $id dans boucleImage, j'affiche #ID au lieu de la valeur.
En affichant le $temp de boucleProduit, je me suis aperçu que mon #ID était préalablement transformé en #THNOID par le parseur (dans pre(...)). Du coup THNOID n'est pas remplacé par l'id du produit, et là, c'est le drame.
Je voudrais savoir à quoi sert le THNO... ?
Ce bug n'intervient que si je suis dans 2 boucles à la suite, si on se trouve seulement dans 1 boucle (ex: PRODUIT>IMAGE) l'image apparait correctement.
Pour l'heure en ajoutant
$temp = str_replace("#THNOID", "$row->id", $temp);
dans ma boucleProduit, j'arrive à afficher mon image, mais ... je doute que ce soit très propre.
Si quelqu'un a une explication à me donner sur l'utilité de THNO, je suis preneur.