ctalpaert Posted September 27, 2010 Share Posted September 27, 2010 Bonjour amis développeurs, je viens de découvrir une coquille dans la gestion des produits de Prestashop v1.3.1.Si l'on enregistre des produits sans TVA, la méthode Category->getProducts() n'arrive pas à calculer le prix utilisé pour le tri. Donc si sur le frontoffice l'internaute choisi de trier par prix, cela ne marche pas !Pour palier à ce problème je vous propose une rustine, en espérant que les ingénieurs de Prestashop corrigeront ce bug dans les prochaines versions :Fichier classes/Category.phpMéthode getProducts()Ligne 396, remplacer la ligne suivante: (p.`price` * ((100 + (t.`rate`))/100) - IF((DATEDIFF(`reduction_from`, CURDATE()) <= 0 AND DATEDIFF(`reduction_to`, CURDATE()) >=0) OR `reduction_from` = `reduction_to`, IF(`reduction_price` > 0, `reduction_price`, (p.`price` * ((100 + (t.`rate`))/100) * `reduction_percent` / 100)),0)) AS orderprice par: (p.`price` * ((100 + IF (t.`rate`, t.`rate`, 0))/100) - IF((DATEDIFF(`reduction_from`, CURDATE()) <= 0 AND DATEDIFF(`reduction_to`, CURDATE()) >=0) OR `reduction_from` = `reduction_to`, IF(`reduction_price` > 0, `reduction_price`, (p.`price` * ((100 + IF (t.`rate`, t.`rate`, 0))/100) * `reduction_percent` / 100)),0)) AS orderprice Petites explications:si t.rate n'existe pas (l'utilisateur n'a pas appliqué de TVA au produit), on a:p.price * (100 + NULL) / 100 = NULLAprès avoir appliqué la correction, le calcul devient:p.price * (100 + 0) / 100 = p.priceDonc au final notre champ orderprice vaudra p.price et non pas NULL et le ORDER BY pourra effectuer le tri \o/La preuve sur http://www.laperle-bijoux.com/8-bagues Link to comment Share on other sites More sharing options...
Marsh Posted February 23, 2011 Share Posted February 23, 2011 Bonjour,j'en ai lu des posts sur ce soucis avant de tomber sur ta solution.Ca marche parfaitement, merci beaucoup je me suis tiré les cheveux un bon moment sans trouver la solution, alors merci encore pour ton partage! 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