2013-03-06 51 views
2

說我已經找到這一行我如何在magento中找到dispatchEvent方法?

Mage::dispatchEvent('catalog_product_is_salable_before', array(
    'product' => $this 
)); 

如何找到由Mage::dispatchEvent調用的方法,我已經瞭解到,Magento的一直堅持一些Mage::dispatchEvent行的,但還沒有創建任何方法爲他們定製的目的,所以我也想知道我將如何分辨它們之間的差異

回答

2

在Magento中有事件偵聽器調用方法。 dispatchEvent基本上會釋放耀斑,可以說,有「觀察員」等待這個信號,然後調用你指定的方法。

您可以使用模塊的etc/config.xml指派事件/耀斑的觀察者來調用方法。

你可以知道什麼事件會默認閱讀如何做到這一點here

如果你有興趣這個不錯的教程,有一個頁面上的鏈接:Magento Event List(不工作)對不起。

1

Marshall的回答給出了事件如何工作以及如何分配事件觀察者的一個很好的總結。

但是,如果您想準確找到特定事件調度所調用的方法,則需要做更多的工作。

一個非常方便的工具是n98-magerun。這是一個命令行,可以讓您輕鬆執行許多與Magento相關的日常開發任務。

其中一個n98-magerun命令是dev:module:observer:list。它列出了在應用程序中的所有​​3210文件中註冊的每個觀察者。

然後,您可以搜索/ grep您正在查找的特定事件的輸出,在這種情況下爲catalog_product_is_salable_before