Parece haver um erro com "Interromper o processamento de regras adicionais" no Magento CE1.9 / EE1.13, onde apenas o primeiro item do seu carrinho recebe o desconto.
Eu esperaria: Se eu tiver várias regras de carrinho de compras, cada uma das quais com "Interromper o processamento de regras adicionais: Sim", somente a primeira dessas regras será aplicada, mas será aplicada integralmente a todos os itens correspondentes a essa regra.
O que está acontecendo: o desconto está sendo aplicado apenas ao primeiro item do carrinho, após o qual o processamento da regra é interrompido.
Veja as capturas de tela: O desconto que estou esperando para o carrinho inteiro é de US $ 50, mas devido a "Interromper o processamento de regras adicionais", estou vendo apenas US $ 25.
fonte
Isso foi corrigido em uma versão posterior do Magento CE. No 1.9.2.1, você pode encontrar a solução, mas ela pode ter sido corrigida mais cedo.
O código original é assim:
E o código fixo deve ser:
A diferença é
$this->_stopFurtherRules = false;
aeif ($this->_stopFurtherRules) {...}
Nada mais.
Ou, se você estiver no 1.9, pode simplesmente substituir o arquivo inteiro sem perigo.
Espero que isso ajude alguém.
fonte
Para tudo o que precisa corrigir esse problema, deve substituir o método de processo para que a classe Mage_SalesRule_Model_Validator seja como abaixo
fonte