首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento仅执行最后一个事件

Magento仅执行最后一个事件
EN

Stack Overflow用户
提问于 2012-09-13 18:13:34
回答 3查看 62关注 0票数 0

我有个小问题。我已经注册了两个事件,但只有最后一个事件被调用,有人能帮我吗?

代码语言:javascript
复制
<!-- 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>
EN

回答 3

Stack Overflow用户

发布于 2012-09-13 18:34:21

乍一看,它可能是观察者名称冲突,请尝试将其命名为唯一的

尝试更改:

save_after

至:

sdz_wawiconnector_observer_save_after

票数 0
EN

Stack Overflow用户

发布于 2012-09-13 20:52:16

根据您的使用情况,您可能会更幸运地使用控制器抛出的事件checkout_onepage_controller_success_action

票数 0
EN

Stack Overflow用户

发布于 2012-09-17 07:00:30

首先,我可以断定您的xml是有效的。

检查以下内容:

  1. 观察者名称的重复项(可能是save_after或XXX_testr_observer_observer已经存在)
  2. 查看放置这些观察者并希望它们在其中执行的部分。例如,您将它们放入前端部分,这样customer_save_after就不会在管理员中运行。
  3. 检查其他观察者(来自第三方扩展)之前是否没有崩溃。或者,例如,它可以在其代码中使用'die‘。
  4. 检查是否有其他扩展重写了核心模型/控制器(或者您的商店在app/code/local/Mage/中有这样的重写。部分),并且在其代码

中没有事件分派器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12403990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档