yvonig Posted February 11, 2014 Share Posted February 11, 2014 Hello, I ve got a prestashop 1.5.3.1... http://www.france-tonnelles.com/ The problem is I have a product with several combinations, I ve got an image per color, and several images which are associated with all colors.. Everything is ok in the product page, but in the shopping cart, the image is not the right color. It is the one of these whitch are associated with all colors... It is a bug ??? please help Thank you Link to comment Share on other sites More sharing options...
Gregory Roussac Posted February 12, 2014 Share Posted February 12, 2014 Bonjour, Désolé je ne reproduis pas votre souci sur le template par défaut en 1.5.6.2. Cordialement Link to comment Share on other sites More sharing options...
yvonig Posted February 12, 2014 Author Share Posted February 12, 2014 je vais essayer en français : lorsque j'ai plusieurs couleurs, une image par couleur et plusieurs images pour toutes les couleurs : L'image dans le panier est celle des images qui a l'id la plus petite dans la liste des images associée à l'attribut.(ps_product_attribut_image) il faudrait que ça soit celle dont la position dans (ps_image_product ) est la plus faible car les image associées à toutes les déclinaison sont des images de détail ! Le top serait même de pouvoir choisir une image 'cover' pour que ça marche pour toutes les situations ! Merci de votre aide Link to comment Share on other sites More sharing options...
Gregory Roussac Posted February 12, 2014 Share Posted February 12, 2014 Re, Je ne suis pas sur de comprendre, mais il n'y a pas de position sur les images associées aux déclinaisons. Les positions sont entre les images, pas pas entre les images sur les déclinaisons. Donc effectivement c'est surement la première image associée a la couleur qui sort. Implémenter les positions dans chaque déclinaisons serait assez compliqué à mettre en œuvre en back office et en base de données je pense. Cordialement Link to comment Share on other sites More sharing options...
yvonig Posted February 12, 2014 Author Share Posted February 12, 2014 Dans la class cart.php de prestashop : vers la ligne 460 :pai.`id_image` as pai_id_image, il.`legend` as pai_legend,Je crois que cette requête sélectionne la première image d'un attribut (celle avec l'id la plus petite) de la table ps_product_attribute_imagequi contient deux champs : id_attribut et id_imagela table ' ps_image ' contient 4 champs : id_image ; id_product ; position ; coverMoi ce que je voudrai; c'est que ce code selectionne l'image de ps_product_attribut_image qui a la "position" la plus petite dans ps_image...Ce qui permettrai d'avoir des images en commun pour des déclinaisons sans ce bug de panier... Je crois pas que ce soit hyper compliqué pour des gens qui maîtrise cette syntaxe ...Ce qui n'est absolument pas mon cas ! Bonne journée Link to comment Share on other sites More sharing options...
Gregory Roussac Posted February 12, 2014 Share Posted February 12, 2014 Re, Je vais créer un ticket en interne avec votre remarque mais il me semble que c’était le cas en 1.4 et que cette sous sélection en fonction des positions a été retirée depuis car elle consommait énormément de ressources. En gros comme vous le dites pour chaque déclinaison, il faut calculer la position minimum mais par rapport a une autre table. Cordialement Link to comment Share on other sites More sharing options...
yvonig Posted September 24, 2014 Author Share Posted September 24, 2014 Bonjour, alors peut-être plus simple, je voudrais que ce soit l'image avec l'id la plus grande qui soit dans la panier, à la place de la plus petite. ça doit être quelque chose comme DESC, à la place de ASC mais je ne sais pas ou faire cette modif.... Cela permettrai au moins de choisir l'image en la chargeant en dernier. Please help. merci d'avance. Cordialement Link to comment Share on other sites More sharing options...
yvonig Posted September 24, 2014 Author Share Posted September 24, 2014 ou alors peut-être encore plus simple... Afficher les images par défaut du produit dans le panier sans tenir compte des déclinaisons ???? merci d'avance Link to comment Share on other sites More sharing options...
yvonig Posted September 24, 2014 Author Share Posted September 24, 2014 Je me répond pour cette dernière question : il faut remplacer if (!isset($row['pai_id_image']) || $row['pai_id_image'] == 0) { $row2 = Db::getInstance()->getRow(' SELECT image_shop.`id_image` id_image, il.`legend` FROM `'._DB_PREFIX_.'image` i'. Shop::addSqlAssociation('image', 'i', false, 'image_shop.cover=1').' LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (image_shop.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$this->id_lang.') WHERE i.`id_product` = '.(int)$row['id_product'].' AND image_shop.`cover` = 1' ); if (!$row2) $row2 = array('id_image' => false, 'legend' => false); else $row = array_merge($row, $row2); } else { $row['id_image'] = $row['pai_id_image']; $row['legend'] = $row['pai_legend']; } par if (!isset($row['pai_id_image']) || $row['pai_id_image'] == 0) { $row2 = Db::getInstance()->getRow(' SELECT image_shop.`id_image` id_image, il.`legend` FROM `'._DB_PREFIX_.'image` i'. Shop::addSqlAssociation('image', 'i', false, 'image_shop.cover=1').' LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (image_shop.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$this->id_lang.') WHERE i.`id_product` = '.(int)$row['id_product'].' AND image_shop.`cover` = 1' ); if (!$row2) $row2 = array('id_image' => false, 'legend' => false); else $row = array_merge($row, $row2); } else { $row2 = Db::getInstance()->getRow(' SELECT image_shop.`id_image` id_image, il.`legend` FROM `'._DB_PREFIX_.'image` i'. Shop::addSqlAssociation('image', 'i', false, 'image_shop.cover=1').' LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (image_shop.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$this->id_lang.') WHERE i.`id_product` = '.(int)$row['id_product'].' AND image_shop.`cover` = 1' ); if (!$row2) $row2 = array('id_image' => false, 'legend' => false); else $row = array_merge($row, $row2); } dans Cart.php autout de la ligne 650 merci 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