Olecorre Posted February 9, 2009 Share Posted February 9, 2009 Bonsoir,Dans la fihe d'un produti côté Admin, je n'ai aucun produit dans la liste des accessoires, hors quand je regarde le résultat de l'appel ajax http://localhost/prestashop/admin75/ajax.php?ajaxProductAccessories=1&id_lang=2&id_product=10 j'ai :[{value: '1-Ibanez - AG95-TRD Rouge Transparent', text:'1 - Ibanez - AG95-TRD Rouge Transparent'},{value: '2-AGB200-TBR - Brun Transparent', text:'2 - AGB200-TBR - Brun Transparent'},{value: '3-Ibanez - AGS83B-ATF - naturel degrade', text:'3 - Ibanez - AGS83B-ATF - naturel degrade'},{value: '4-Ibanez - AK95-DVS - brun violon', text:'4 - Ibanez - AK95-DVS - brun violon'},{value: '5-Ibanez - EW20ASE-NT - naturelle', text:'5 - Ibanez - EW20ASE-NT - naturelle'},{value: '6-Ibanez - EW20WNE-NT - noyer naturel', text:'6 - Ibanez - EW20WNE-NT - noyer naturel'},{value: '7-Ibanez - EWB20WNE-NT - cordia naturel', text:'7 -..........donc l'ajax revoit bien des données mais rien ne s'affiche dans la liste déroulante.Une piste ?Merci Link to comment Share on other sites More sharing options...
Olecorre Posted February 9, 2009 Author Share Posted February 9, 2009 je précise j'ai +500 produit dans la base donc c'est peut être la raison mais dans se cas comment modifier la requete pour mettre en accessoire que quelques catégories ? Link to comment Share on other sites More sharing options...
Olecorre Posted February 10, 2009 Author Share Posted February 10, 2009 Bon le problème d'affichage de la liste venait du nombre de produit trop important !en terme d'évolution il pourrait être intéressant d'ajouter une case à cocher dans la fiche produit pour mettre le produit en accessoire ! Mettre systématiquement tous les produits en accessoires n'a pas d'intérêt et pause problème quand il y a trop de produit. Donc autant pouvoir sélectionner ceux en accessoire.sinon voici la requete que j'ai modifier dans le fichier ajax.php (se trouve dans le répertoire admin) $products = Db::getInstance()->ExecuteS(' SELECT p.`id_product`, pl.`name` FROM `'._DB_PREFIX_.'product` p NATURAL LEFT JOIN `'._DB_PREFIX_.'product_lang` pl INNER JOIN `'._DB_PREFIX_.'category_product` cp ON cp.id_product = p.id_product WHERE pl.`id_lang` = '.intval(Tools::getValue('id_lang')).' AND (cp.id_category = 54 OR cp.id_category=57 OR cp.id_category=56 OR cp.id_category=53 OR cp.id_category=55) AND p.`id_product` != '.intval(Tools::getValue('id_product')).' AND p.`id_product` NOT IN ( SELECT a.`id_product_2` FROM `'._DB_PREFIX_.'accessory` a WHERE a.`id_product_1` = '.intval(Tools::getValue('id_product')).')'); Il y a une jointure en plus :INNER JOIN `'._DB_PREFIX_.'category_product` cp ON cp.id_product = p.id_product et des critères en plusAND (cp.id_category = 54 OR cp.id_category=57 OR cp.id_category=56 OR cp.id_category=53 OR cp.id_category=55)Qui correspondent aux catégories que je souhaitent vori en accessoire. 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