Events Magento中的自定义事件

Events Magento中的自定义事件,events,magento,Events,Magento,如何在Magento中添加自定义事件,如“完成某件事” 我正在为一个购物车编码,该购物车为通过特定链接到达的客户提供一定的%折扣,并且希望在购物车和结帐页面中显示相同的折扣要发送事件,请使用Mage::dispatchEvent函数(%magento%/app/Mage.php,第425行左右)。电话如下所示: $data = array( 'somedata' => 'foo', 'layout' => $this->getLayout()); Mage::dispatchE

如何在Magento中添加自定义事件,如“完成某件事”


我正在为一个购物车编码,该购物车为通过特定链接到达的客户提供一定的%折扣,并且希望在购物车和结帐页面中显示相同的折扣

要发送事件,请使用
Mage::dispatchEvent
函数(
%magento%/app/Mage.php,第425行左右)。电话如下所示:

$data = array( 'somedata' => 'foo', 'layout' => $this->getLayout());
Mage::dispatchEvent('my_event_name', $data);
为了观察事件,请在扩展名的config.xml文件中指定观察者

<config>
    <global>
        <events>
            <my_event_name>
                <observers>
                    <myextension>
                        <type>singleton</type>
                        <class>myextension/observer</class>
                        <method>someMethodName</method>
                    </myextension>
                </observers>
            </my_event_name>
        </events>
    </global>
</config>

这是最简单的解释+1Up Next:;)
class Myextension_Model_Observer {
    public function someMethodName($event) {
        $layout = $event->getLayout();
        $someData = $event->getSomedata();
    }
}