If you want to get the list of all the events available in your magento version, you can achieve this by running the following code -:
$eventAreas = array('global','frontend','adminhtml'); foreach ($eventAreas as $eventArea) { $eventConfig = Mage::app()->getConfig() ->getNode(sprintf('%s/events', $eventArea)); foreach($eventConfig->children() as $key=>$value) { foreach($value->observers->children() as $key1=>$value1) { $observer_method = array((string)$eventArea, (string)$key, (string)$key1, (string)Mage::app()->getConfig() ->getModelClassName($value1->class), (string)$value1->method); echo '<pre>'; print_r($observer_method); echo '</pre>'; } } }
Get the List of Events from Any Version of Magento
Magento utilises a robust event/observer pattern to allow developers to intercept and execute custom logic during various stages of the application’s workflow. This guide provides a method to retrieve the list of all available events from any version of Magento.
Magento 2
Method 1: Using Command Line
To get the list of events in Magento 2, you can use the following command:
grep -r "$this->_eventManager->dispatch" app/code vendor/magento
This command will search through the Magento codebase for instances where events are dispatched.
Method 2: Searching Layout XML Files
Events are often declared in layout XML files. You can search for them using the following command:
grep -r "
Method 3: Programmatic Approach
You can also create a custom script to programmatically list events by parsing the configuration files:
<?php
use Magento\Framework\App\Bootstrap;
require 'app/bootstrap.php';
$params = $_SERVER;
$bootstrap = Bootstrap::create(BP, $params);
$obj = $bootstrap->getObjectManager();
$eventConfig = $obj->get('Magento\Framework\Event\ConfigInterface');
$events = $eventConfig->getEvents();
foreach ($events as $eventName => $observers) {
echo $eventName . PHP_EOL;
}
?>
Save this script in your Magento root directory and run it using PHP CLI.
Magento 1
Method 1: Using Command Line
To get the list of events in Magento 1, you can use the following command:
grep -r "Mage::dispatchEvent" app/code
This command will search through the Magento codebase for instances where events are dispatched.
Method 2: Searching Config XML Files
Events are often declared in config XML files. You can search for them using the following command:
grep -r "" app/code
Method 3: Programmatic Approach
You can also create a custom script to programmatically list events by parsing the configuration files:
<?php
require 'app/Mage.php';
Mage::app();
$config = Mage::getConfig();
$events = $config->getNode('global/events')->asArray();
foreach ($events as $eventName => $eventConfig) {
echo $eventName . PHP_EOL;
}
?>
Save this script in your Magento root directory and run it using PHP CLI.
Conclusion
By using these methods, you can retrieve the list of events from any version of Magento. Whether you prefer command-line searches or programmatic solutions, these approaches will help you effectively locate all available events in your Magento application.