2011-11-26 2 views
1

나는 onestepcheckout 과정에서 사용자 카트에서 쿠폰 코드를 제거 할 방법을 찾고 있습니다. 특히, 사용자가 미국이 아닌 국가에 입장 할 경우 Freeship 쿠폰이 설정되면이를 제거하고 국제 주문의 배송비 할인을 제공하는 Freemhip 쿠폰으로 바꾸고 싶습니다.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

감사합니다. 정확하게 내가 찾고 있던 것이 었습니다! 죄송합니다, 나는 onestepcheckout을 말했을 때 잘못 입력했습니다. – matt

관련 문제