Parece haber un error con "Detener el procesamiento de reglas adicionales" en Magento CE1.9 / EE1.13 donde solo el primer artículo de su carrito recibe el descuento.
Esperaría: si tengo varias reglas de carrito de compras, cada una de las cuales tiene "Detener el procesamiento de reglas adicionales: Sí", solo se aplicará la primera de estas reglas, sin embargo, se aplicará en su totalidad a todos los elementos coincidentes para esa regla.
Lo que sucede: el descuento solo se aplica al primer artículo del carrito, después de lo cual se detiene el procesamiento de la regla.
Ver capturas de pantalla: El descuento que espero para todo el carrito es de $ 50, pero debido a "Detener el procesamiento de reglas adicionales" solo veo $ 25.
fuente
Esto se solucionó en una versión posterior de Magento CE. En 1.9.2.1 puede encontrar la solución, pero puede haberse solucionado antes.
El código original se ve así:
Y el código fijo debería ser:
La diferencia es la
$this->_stopFurtherRules = false;
yif ($this->_stopFurtherRules) {...}
Nada más.
O, si tiene 1.9, simplemente puede reemplazar todo el archivo sin peligro.
Espero que esto ayude a alguien.
fuente
Para todo lo que necesita solucionar ese problema, debe anular el método de proceso para que la clase Mage_SalesRule_Model_Validator sea como se muestra a continuación
fuente