vanessa56 Posted December 24, 2010 Share Posted December 24, 2010 Je souhaite afficher les attributs pour un groupe specifique dans le listing des produits.J'ai trouvé le bout de code suivant auquel j'ai ajouté a la selection name, la selection de id_attribute $idgrp = 1; for ($i=0;$i<=count($result);$i++){ $nouvelle_requette = 'SELECT al.name as name,pa.id_product_attribute as id_attribute FROM '._DB_PREFIX_.'product_attribute pa JOIN '._DB_PREFIX_.'product_attribute_combination pac ON pac.id_product_attribute = pa.id_product_attribute JOIN '._DB_PREFIX_.'attribute_lang al ON (al.id_attribute = pac.id_attribute AND al.id_lang = '.intval($id_lang).') JOIN '._DB_PREFIX_.'attribute a ON (a.id_attribute_group = '.$idgrp.' AND a.id_attribute = pac.id_attribute) WHERE pa.id_product = '.$result[$i]['id_product'].' AND pa.quantity >= 1'; $attributs = Db::getInstance()->ExecuteS($nouvelle_requette); if($attributs){ foreach($attributs as $tab){ $result[$i]['attribute'][]= "$tab[name]"; } } } Pour afficher le nom de l'attribut j'utilise donc : {foreach from=$product.attribute item=attribute name=attribute} {$attribute} {/foreach} Mais comment je peux faire pour y ajouter aussi l'affichage de id_attribute que je selectionne dans ma requete ? Link to comment Share on other sites More sharing options...
Vincent Decaux Posted December 24, 2010 Share Posted December 24, 2010 Bonjour, A priori en rajoutant $result[$i]['attribute']['name'] []= "$tab[name]"; $result[$i]['attribute']['id_attribute'] []= "$tab[id_attribute]"; Puis dans le TPL : {foreach from=$product.attribute item=attribute name=attribute} Nom : {$attribute.name} ID : {$attribute.id_attribute} {/foreach} Une piste, pas pu trop testé mais ça irait dans la logique du code.Toujours bien vu le prénom féminin ;-) Link to comment Share on other sites More sharing options...
vanessa56 Posted December 24, 2010 Author Share Posted December 24, 2010 Merci de votre aide mais plus aucune variable ne s'affiche. Link to comment Share on other sites More sharing options...
vanessa56 Posted December 27, 2010 Author Share Posted December 27, 2010 Avec $result[$i][attribute][name]= "$tab[name]"; $result[$i][id_attribute][id_attribute]= "$tab[id_attribute]"; cela semble m'afficher que le premier caractere de name et de l'id attributesi je rajoute $result[$i][attribute][name][]= "$tab[name]"; $result[$i][attribute][id_attribute][]= "$tab[id_attribute]"; Cela n'affiche plus rien. Link to comment Share on other sites More sharing options...
vanessa56 Posted December 28, 2010 Author Share Posted December 28, 2010 Pas d'autre idée ? Bonjour, A priori en rajoutant $result[$i]['attribute']['name'] []= "$tab[name]"; $result[$i]['attribute']['id_attribute'] []= "$tab[id_attribute]"; Puis dans le TPL : {foreach from=$product.attribute item=attribute name=attribute} Nom : {$attribute.name} ID : {$attribute.id_attribute} {/foreach} Une piste, pas pu trop testé mais ça irait dans la logique du code.Toujours bien vu le prénom féminin ;-) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now