Как программно применять только действительные коды купонов к корзине покупок?


У меня есть несколько кодов купонов, которые я хочу применить к корзине программно.

Я сделал это так:

foreach ($coupons as $coupon) //$coupons array of coupon codes
{
    Mage::getSingleton('checkout/cart')
        ->getQuote()
        ->setCouponCode($coupon)
        ->collectTotals()
        ->save();
}

Теперь происходит следующее: если первый купон действителен, он был применен, но после этого

  • если второй купон действителен, он был заменен (первый удален, второй применен).
  • если второй купон недействителен, он также отменяет скидку, применяемую по первому купону.

Теперь мне нужна помощь, чтобы справиться ситуация, как можно применить оба купона/правила/скидки, если они действительны (если возможно, применяя два кода купона)? или не применять код купона, если он недействителен, чтобы купон, примененный ранее, не был удален.

Author: Fabian Schmengler, 2015-06-29

1 answers

Согласно системе as magento, вы cannot apply multiple coupon on a cart.

Если вы хотите, то вам нужно использовать

3-е частичное расширение, подобное amasty

Или

Вы можете использовать этот ответ:

Несколько купонов Magento применяются в корзине

 3
Author: Amit Bera, 2017-04-13 12:54:58