说我找到了这条线
Mage::dispatchEvent('catalog_product_is_salable_before', array(
'product' => $this
));
我如何找到被调用的方法Mage::dispatchEvent
,我了解到 Magento 已经插入了其中一些Mage::dispatchEvent
行,但没有为它们创建任何方法以进行定制,所以我也想知道我将如何告诉他们之间的区别
在 Magento 中有调用方法的事件监听器。可以说基本上释放了一个耀斑,dispatchEvent
并且有“观察者”等待这个信号,然后调用你分配的方法。
您可以使用模块的etc/config.xml
.
您可以在此处阅读有关如何操作的精彩教程
如果您有兴趣了解默认情况下有哪些事件,该页面上有一个链接:Magento 事件列表(不起作用)抱歉。
Marshall 的回答很好地总结了事件的工作原理以及如何分配事件观察者。
但是,如果您想准确找到特定事件调度调用了哪些方法,则需要做更多的工作。
对这类事情非常方便的一个工具是n98-magerun
. 它是一个命令行,可让您轻松执行许多与 Magento 相关的日常开发任务。
n98-magerun
命令之一是dev:module:observer:list
. config.xml
它列出了在整个应用程序的所有文件中注册的每个观察者。
然后,您可以搜索/grep 您要查找的特定事件的输出,在这种情况下为catalog_product_is_salable_before
.