say i have found this line
Mage::dispatchEvent('catalog_product_is_salable_before', array(
'product' => $this
));
how do i find the method that is called by Mage::dispatchEvent
, i have learned that Magento has stuck some of these Mage::dispatchEvent
lines in but haven't created any methods for them for the purpose of customization so i am also wondering how i will be able to tell the difference between them
In Magento there are event listeners that call the methods. The dispatchEvent
basically releases a flare so to speak and there are "observers" waiting for this signal, which then call the methods you assign.
You assign the observers of events/flares to call methods using your module's etc/config.xml
.
You can read this nice tutorial on how to do it here
If you are interested in knowing what events there are by default, there is a link on that page: Magento Event List (Which doesn't work) sorry.
Marshall's answer gives a good summary of how events work, and how to assign event observers.
However, if you want to find exactly what methods are called by a particular event dispatch, you'll need to do a bit more work.
One tool that comes in very handy for these sorts of things is n98-magerun
. It is a command-line to that allows you to perform many of the routine development tasks relating to Magento with ease.
One of the n98-magerun
commands is dev:module:observer:list
. It lists every single observer that's registered in all config.xml
files accross the application.
You can then search/grep the output for the particular event you're looking for, in this case catalog_product_is_salable_before
.