如何在magento 1 使用event for model
繼上一篇介紹如何在magento1 使用event for controller,這次要教大家如何在資料存進資料庫之前做處理,又不要動到原本架構啦!其實使用event for model這個方式就可以有效地完成喔!請看以下範例:
<global> <events> <catalog_product_save_before> <observers> <devices_associations> <type>singleton</type> <class>Mio_Customer_Model_Observer</class> <method>saveAssociationsObserver</method> </devices_associations> </observers> </catalog_product_save_before> </events> </global>
請看以下程式碼:
<catalog_product_save_after>
這代表在catalog這個extension下的product→controller →save此function被執行前必須觸發這個events。
再看以下的標籤:
<class>Mio_Customer_Model_Observer</class> <method>saveAssociationsObserver</method>
它代表的意思是,會觸發Mio_Customer此extension的Model中的Observer.php→saveAssociationsObserver這支function。
記得喔!event的優點是可以不更動到現有架構去做邏輯處理,美中不足的地方是無法用線索追蹤哪一隻function有觸發event,所以在使用時務必記清楚在哪支function中觸發了Event,否則會以為程式出了什麼bug唷!
看更多magento 相關文章,別忘訂閱我們的電子報,以及追蹤我們的Facebook粉絲專頁喔!
每天固定發文,幫你補充一點電商知識!
我要留言