我正在寻找一种在onetepcheckout过程中从用户购物车中删除优惠券代码的方法。具体来说,如果用户进入的国家不是美国,那么我想删除我们的免费优惠券(如果已设置),并将其替换为提供国际订单运费折扣的优惠券。
我可以编写所有其余的代码,基本上我只是在寻找一个允许我在结帐过程中删除一套优惠券代码的功能(如果添加新优惠券的代码有很大不同,那么也很有帮助。)
答案 0 :(得分:3)
我不知道onestepcheckout是如何工作的,但是在一个页面结帐时,你可以捕获事件“checkout_controller_onepage_save_shipping_method”并设置优惠券代码如下:
function onSaveShippingMethod($observer) {
$quote = $observer->getEvent()->getQuote();
//remove coupon code
$quote->setCouponCode('');
$quote->collectTotals()->save();
}
将上述方法放在您的观察者类中,并修改config.xml以捕获事件。