Custom Events in Magento

前端 未结 1 845
清歌不尽
清歌不尽 2020-12-24 03:03

How can I add a custom event in Magento like \"done_some_thing\"?

I am coding for a shopping cart which gives a certain % discount for the customers who comes throug

相关标签:
1条回答
  • 2020-12-24 03:52

    To dispatch an event, use the Mage::dispatchEvent function (%magento%/app/Mage.php around line 425). Calls look like this:

    $data = array( 'somedata' => 'foo', 'layout' => $this->getLayout());
    Mage::dispatchEvent('my_event_name', $data);
    

    In order to observe an event, specify the observer in the config.xml file of your extension.

    <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>
    

    Create a corresponding class and method (Observer.php) and you're set to go:

    class Myextension_Model_Observer {
        public function someMethodName($event) {
            $layout = $event->getLayout();
            $someData = $event->getSomedata();
        }
    }
    
    0 讨论(0)
提交回复
热议问题