在Magento中建立观察者的正确方法是什么?

时间:2010-01-12 11:19:16

标签: php zend-framework magento

我想在Magento中设立一个观察员,在订单状态发生变化时执行操作。

我熟悉创建模块的过程。我想要了解的是需要在模块config.xml中放置什么,以及需要创建的类和/或方法的命名约定是什么。

1 个答案:

答案 0 :(得分:4)

我没有在任何地方看到事件名称,但我会在这里发布一般情况:

假设:你已经设置了一个模块,模型从Yourmodule / Model目录中正确加载..

在模块的config.xml文件中:

<config>
    <global>
  <events>
   <full_event_name>
    <observers>
     <yourmodule>
      <type>singleton</type>
      <class>yourmodule/observer</class>
      <method>yourMethodName</method>
     </yourmodule>
    </observers>
   </full_event_name>
  </events>
 </global>
</config>

使用以下内容创建文件%yourmodule%/ Model / Observer.php:

<?php

class Yourmodule_Model_Observer {

    public function yourMethodName($event) {
        $data = $event->getData(); // this follows normal Magento data access

        // perform your action here
    }

}//class Yourmodule_Model_Observer

实际上,您可以在观察者中以任何方式命名方法,但模式似乎是将类命名为Observer。它使用正常模型加载加载(例如,yourmodule / observer映射到Yourmodule_Model_Observer)。希望有所帮助!

谢谢, 乔