2013-03-06 54 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