magento的event机制在使用起来,是一个很好的东西
在magento的各个执行的过程中,中间有很多的event,譬如sales_order_place_after,我们可以通过自己新建一个模块捕捉这个事件,代码如下:
- <config>
- <global>
- <events>
- <sales_order_place_after>
- <observers>
- <cartz_mypayment_order_place_after_observer>
- <type>singleton</type>
- <class>myorder/order_place_after_observer</class>
- <method>fraudCheck</method>
- </cartz_mypayment_order_place_after_observer>
- </observers>
- </sales_order_place_after>
- </events>
- </global>
- </config>
也就是在代码执行到这个event的时候,会执行models/order/place/after/observer.php的fraudCheck方法,然后这个方法接受传过来的参数,然后出来,在返回处理完成的值,这样我们就完成了event的代码的编写!
好处:可以不修改magento核心代码,又达到我们的意愿,不会影响magento的升级,易于维护!
magento的event表可以谷歌查查。
如果当你想在某个操作中想插入断代码,也就是修改原来的东西,那么,通过逻辑找找代码,看看里面是不是有event,可以捕捉,然后轻松的加入自己的代码,完成任务!