如何在magento中创建事件调度程序?

时间:2011-04-22 12:11:09

标签: php xml magento

  

可能重复:
  Creating Hello world event dispatcher(observer) in Magento?

嗨,

在我的Mage网站上,我处于将产品添加到购物车后执行一系列任务的情况......我试图创建一个事件调度程序,但没有成功。

任何人都可以向我提供有关事件调度​​程序或任何有用链接的逐步实施的信息吗?

谢谢,

巴兰

1 个答案:

答案 0 :(得分:1)

第1步:在/app/etc/module/Mycompany_Observer.xml中定义您的模块:

<?xml version="1.0" encoding="utf-8"?>
<config>
    <modules>
        <Mycompany_Observer>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Core />
            </depends>
        </Mycompany_Observer>
    </modules>
</config>

第2步:在/app/code/local/Mycompany/Observer/etc/config.xml中定义您的配置:

<?xml version="1.0" encoding="utf-8"?>
<config>
    <modules>
        <Mycompany_Observer>
            <version>0.1.0</version>
        </Mycompany_Observer>
    </modules>
    <global>
        <models>
            <myobserver>
                <class>Mycompany_Observer_Model</class>
            </myobserver>
        </models>
    </global>
    <frontend>
        <events>
            <add_to_cart_after>
                <observers>
                    <my_unique_identifier>
                        <type>singleton</type>
                        <class>myobserver/observer</class>
                        <method>myAddToCartAfter</method>
                    </my_unique_identifier>
                </observers>
            </add_to_cart_after>
        </events>
    </frontend>
</config>

第3步:在/app/code/local/Mycompany/Observer/Model/Observer.php中定义您的观察者:

class Mycompany_Observer_Model_Observer extends Mage_Core_Model_Abstract
{
    public function myAddToCartAfter($oObserver)
    {
        var_dump($oObserver->getData());
        die('stop');
    }
}