2012-03-02 2 views
0

체크 아웃 프로세스 중에 쿠폰을 적용한 후 무언가를하고 싶습니다. Observer.php에서 해당 함수와 함께 'catalogrule_after_apply'이벤트를 사용했습니다. 쿠폰은 내 옵저버 방법을 사용하지 않고 계속 적용됩니다. 다른 이벤트가 발생하므로 잘못된 xml이 적용되지 않습니다. 문제는 내가 사용하고있는 이벤트 일지 모르지만 같은 효과를 낼 수있는 다른 이벤트는 없습니다. 제안?체크 아웃 페이지에 쿠폰을 적용 할 때 이벤트 관찰자가 사용자 정의 모듈에서 실행되지 않음

등/config.xml에

<config> 
     <events> 
      <catalogrule_after_apply> 
       <observers> 
        <promosource> 
         <type>singleton</type> 
         <class>promosource/observer</class> 
         <method>addSourceIdToSessionFromCoupon</method> 
        </promosource> 
       </observers> 
      </catalogrule_after_apply> 
     </events> 
</config> 

도우미/Observer.php

<?php 
class Russ_Promosource_Model_Observer 
{ 
    public function __construct() 
    { 
    } 

    public function addSourceIdToSessionFromCoupon($observer) { 

       die ('event observer worked'); 
    } 

} 

미리 감사드립니다.

답변

0

관측중인 이벤트는 관리자의 "규칙 적용"을 클릭하면 트리거됩니다.
원하는 것을 수행하려면 salesrule_validator_process 이벤트를 사용하십시오.

public function couponApplied($observer) 
    { 
     $rule = $observer->getEvent()->getRule(); 
     $couponCode = $rule->getCouponCode(); 
     $ruleId = $rule->getRuleId(); 
    } 

HTH

: 당신 관찰자는 그 적용 규칙에 액세스 할 수 있습니다
관련 문제