2012-09-13 42 views
0

我有一個小問題。我有註冊兩個事件,但只有最後被alwas叫, 有人可以幫助我Magento只執行最後一個事件

<!-- Events --> 
<events> 
    <checkout_type_onepage_save_order_after> 
    <observers> 
     <save_after> 
     <type>singleton</type> 
     <class>XXX_testr_Model_Observer_OrderObserver</class> 
     <method>orderSubmitEvent</method> 
     </save_after> 
    </observers> 
    </checkout_type_onepage_save_order_after> 

    <customer_save_after> 
    <observers> 
     <XXX_testr_observer_observer> 
     <type>singleton</type> 
     <class>XXX_testr_Model_Observer_Observer</class> 
     <method>customerSaveEvent</method> 
     </XXX_testr_observer_observer> 
    </observers> 
    </customer_save_after>     
</events> 

回答

0

乍一看它可能是一個觀察者名稱衝突,嘗試命名空間它是唯一

嘗試改變:

save_after

到:

sdz_wawiconnector_observer_save_after

+0

喜, thx的答案,我總是嘗試這一點 – user1668234

0

根據您的使用情況,您可能有更多的運氣與控制器拋出事件checkout_onepage_controller_success_action一起工作。

0

首先,我可以告訴你的XML是有效的。

檢查這樣的事情:觀察者名

  1. 副本(可能是save_after或XXX_testr_observer_observer已經存在)
  2. 看向部分,在這裏你把這些觀察員和那裏你希望他們執行。例如,您將它們放入前端部分,因此customer_save_after將不會在管理員中運行。
  3. 檢查是否有其他觀察者(來自第三方擴展)以前不會崩潰。或者,例如,它可以在其代碼中使用「死亡」。
  4. 檢查是否存在其他擴展重寫核心模型/控制器(或您的商店在應用程序/代碼/本地/法師/ ..部分重寫等),並沒有事件調度員在其代碼
相關問題