2011-11-26 67 views
1

我正在尋找一種在onestepcheckout過程中從用戶購物車中刪除優惠券代碼的方法。具體來說,如果用戶進入一個不是美國的國家,那麼我想刪除我們的freeship優惠券(如果已設置),並將其替換爲提供國際訂單的運費折扣的優惠券。Magento功能從用戶購物車中刪除優惠券代碼?

我可以編寫所有其他代碼,基本上我只是在尋找一個函數,允許我在結帳過程中刪除一組優惠券代碼(如果添加新優惠券的代碼與也會有幫助)。

回答

3

我不知道該怎麼onestepcheckout工作,但在onepage結賬時,你可以捕捉事件「checkout_controller_onepage_save_shipping_method」,並設置優惠券代碼像波紋管:

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

上面的方法你觀察者類,並修改配置。 xml捕獲事件。

+0

謝謝,正是我在找的!對不起,當我說onetepcheckout時,我輸錯了名字。 – matt

相關問題