Magento功能从用户购物车中删除优惠券代码


Magento function to remove coupon code from a users cart?

我正在寻找一种方法,从用户购物车中删除优惠券代码在一步结账过程中。具体来说,如果用户进入的国家不是美国,那么我想删除我们的免费优惠券,如果它是设置的,并将其替换为一个提供国际订单运费折扣的优惠券。

我可以编写所有其余的代码,基本上我只是在寻找一个函数,允许我在结帐过程中删除一组优惠券代码(如果添加新优惠券的代码有很大不同,这也会很有帮助)。

我不知道onestepcheckout是如何工作的,但是在oneepage checkout中,您可以捕获事件"checkout_controller_onepage_save_shipping_method"并设置优惠券代码如下:

function onSaveShippingMethod($observer) {
    $quote = $observer->getEvent()->getQuote();
    //remove coupon code
    $quote->setCouponCode('');
    $quote->collectTotals()->save();
}

把上面的方法放到你的观察者类中,并修改config.xml来捕获事件。