最近在做magento二次开发,遇到个问题,即,我要针对商品的数据中的某些数据做二次处理。看了一下代码,发现在initProduct前有一个event事件:catalog_product_prepare_save,所以我想我只要覆盖这个方法就OK了。网上找了些资料,发现如果再绑定一个event则多个Event都会执行。于是,我就按照这个思路在config.xml里加入了events事件。
然后在Model下面加了Observer.php来监听事件。为了测试系统自有的event能够工作,我在系统默认的event里做了一下输出,发现确实有变化 了。所以证明我的思路还是正确的。当然,这也借鉴了网上的一些资料
config.xml里加入:
XML/HTML代码
- <adminhtml>
- <events>
- <catalog_product_prepare_save>
- <observers>
- <xxx_web_observer>
- <type>singleton</type>
- <class>Xxx_Web_Model_Observer</class>
- <method>prepareProductAuthor</method>
- </xxx_web_observer>
- </observers>
- </catalog_product_prepare_save>
- </events>
- </adminhtml>
本来我class想写成xxxx/observer的,但死活通不过,我不知道是我写错了。还是。。最后写成详细的类名才OK。(也可能是因为不在系统目录下,而在local目录下的原因吧?)
Observer就不写了。参考core/mage/bundle/model/observer.php即可(本来有大小写的,我忽略了)