Il semble y avoir un bug avec "Arrêter le traitement des règles supplémentaires" dans Magento CE1.9 / EE1.13 où seul le premier article de votre panier reçoit la remise.
Je m'attendrais à ce que: si j'ai plusieurs règles de panier d'achat, chacune d'elles ayant "Arrêter le traitement des règles: Oui", seule la première de ces règles serait appliquée, mais elle s'appliquerait intégralement à tous les articles correspondants pour cette règle.
Ce qui se passe: la remise n'est appliquée qu'au premier article du panier, après quoi le traitement des règles est arrêté.
Voir les captures d'écran: La remise que j'attends pour le panier entier est de 50 $, mais en raison de "Arrêter le traitement des règles", je ne vois que 25 $.
la source
Ce problème a été résolu dans une version ultérieure de Magento CE. Dans 1.9.2.1, vous pouvez trouver la solution, mais elle a peut-être été corrigée plus tôt.
Le code d'origine ressemble à ceci:
Et le code fixe devrait être:
La différence est le
$this->_stopFurtherRules = false;
etif ($this->_stopFurtherRules) {...}
Rien d'autre.
Ou, si vous êtes sur 1.9, vous pouvez simplement remplacer l'intégralité du fichier sans danger.
J'espère que cela aide quelqu'un.
la source
Pour tout ce qui doit résoudre ce problème, doit remplacer la méthode de processus pour que la classe Mage_SalesRule_Model_Validator soit comme ci-dessous
la source