Hilz Posted July 7, 2013 Share Posted July 7, 2013 Bonjour, Nous sommes en cours de développement d'une boutique mais nous rencontrons un problème ! Nous avons installé le module de navigation à facette (blocklayered) qui fonctionne très bien. Cela-dit, le prix affiché n'est pas celui de la déclinaison par défaut mais celui de la dernière (qui est en générale la plus chère, comportement inverse de ce que nous souhaitons obtenir). Je n'arrive pas à isoler la requête qui sélectionne ces données. Ma seule piste est la suivante : - Dans le fichier : classes/Product.php, fonction "priceCalculation", ligne 2660, il y a ces lignes : // Attribute price if (is_array($result) && (!$specific_price || !$specific_price['id_product_attribute'] || $specific_price['price'] < 0)) { $attribute_price = Tools::convertPrice($result['attribute_price'] !== null ? (float)$result['attribute_price'] : 0, $id_currency); // If you want the default combination, please use NULL value instead if ($id_product_attribute !== false) $price += $attribute_price; } Serait-ce par la qu'il faut regarder ? Je lis le commentaire "if you want the default combination", c'est ce que je veux... Mais mettre null à la place de false ne résout pas le problème. Toute suggestion est bonne à prendre, je suis peut-être à côté de la plaque ! Merci d'avance à tous ! PS : j'ai un autre problème, dans la navigation à facette pour l'option prix (le slider) : le prix le plus faible est HT et le plus élevé est TTC alors que j'ai coché "utilisé les taxes" dans le module blocklayered. Si quelqu'un a une idée la dessus Link to comment Share on other sites More sharing options...
thoreking Posted March 4, 2014 Share Posted March 4, 2014 Bonjour, je relance la question que je trouve extremement pertinente Pourquoi l'installation du module navigation a facette modifie de maniere erronnee le prix d'un produit ayant des declinaisons. C'est toujours la plus elevee qui est affichee et non pas celle selectionnee par defaut. C'est un bug majeur car les prix du filtre ne sont plus synchro avec ce qui est affiche et le client n'y comprend plus rien Merci Link to comment Share on other sites More sharing options...
thoreking Posted March 5, 2014 Share Posted March 5, 2014 Le probleme vient d'une query dans le fichier blocklayered.php l.1972 : c'est le MAX des id d'attribut qui est pris en compte ?! donc changer cette ligne en pa.id_product_attribute id_product_attribute, et rajouter dans les conditions plus bas AND pa.default_on = 1 et voila, le prix retenu sera celui de la declinaison par defaut. Link to comment Share on other sites More sharing options...
Samantha66 Posted March 14, 2014 Share Posted March 14, 2014 Bonjour, Merci thoreking pour la résolution de ce problème. Juste une petite précision au niveau de la condition AND pa.default_on = 1, il faut faire attention à la rajouter à la suite de : LEFT JOIN '._DB_PREFIX_.'product_attribute pa ON (p.id_product = pa.id_product) AND pa.default_on = 1 Car si on la rajoute dans les conditions de fin de requête, cela n'affiche que les produits qui ont des attributs, ceux qui n'en n'ont pas ne s'affiche plus dans le listing produit. 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