logs00 Posted January 4, 2013 Share Posted January 4, 2013 Bonjour, j'ai trouvé un bug un peu gênant dans le comparateur interne de Prestashop. (Bouton Comparer dans les listes produits) En effet, sur toutes les versions PS 1.5.x les prix qui s'affichent dans les résultats du comprateur sont les prix par défaut sans réduction. Si on applique une réduction à l'ensemble des déclinaisons tout est ok, le nouveau prix se met bien à jour dans le comparateur. Mais si on applique des réductions différentes à chacune des déclinaisons le prix qui apparaissent dans le comparateur sont uniquement les prix forts des déclinaisons par défaut et les remises ne sont pas appliquées. Comment afficher les prix des déclinaisons par défaut mais avec leur remise respectives ? De plus, comment changer l'ordre des caractéristiques (features) dans ce comparateur pour qu'elles soient dans le même ordre que dans les fiches produits ? Merci d'avance à tous, Log's PS : j'ai ouvert un ticket sur la forge au cas ou : http://forge.prestas...owse/PSCFV-6456 Link to comment Share on other sites More sharing options...
logs00 Posted January 7, 2013 Author Share Posted January 7, 2013 Personne n'a une idée ? Link to comment Share on other sites More sharing options...
logs00 Posted January 17, 2013 Author Share Posted January 17, 2013 (edited) Bon je me répond à moi même pour ceux qui veulent la solution. Les équipes PS ont répondu sur la forge et la réponse se trouve là bas (Merci à Rémi d'ailleurs) : https://github.com/P...d3a3b328513de54 Sinon pour le tri des caractéristique, il faut modifier la classe Feature.php en modifiant le ORDER BY de la fonction getFeaturesForComparison public static function getFeaturesForComparison($list_ids_product, $id_lang) { if (!Feature::isFeatureActive()) return false; $ids = ''; foreach ($list_ids_product as $id) $ids .= (int)$id.','; $ids = rtrim($ids, ','); if (empty($ids)) return false; return Db::getInstance()->executeS(' SELECT * , COUNT(*) as nb FROM `'._DB_PREFIX_.'feature` f LEFT JOIN `'._DB_PREFIX_.'feature_product` fp ON f.`id_feature` = fp.`id_feature` LEFT JOIN `'._DB_PREFIX_.'feature_lang` fl ON f.`id_feature` = fl.`id_feature` WHERE fp.`id_product` IN ('.$ids.') AND `id_lang` = '.(int)$id_lang.' GROUP BY f.`id_feature` ORDER BY f.`position` ASC '); } A mettre en Résolu ;-) @++ Edited January 17, 2013 by logs00 (see edit history) 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