商店-前端:可以观察到的第一个事件是什么?
-
12-12-2019 - |
题
随着电流,香草Magento1.9.1(CE)或1.14.1/1.14.2(EE)什么是 第一个 可以观察到的事件?
- 对于前端(通过
/index.php
;当安装程序确实已经运行) - 对于前端,当安装程序尚未运行时(如果它有所作为)
- 对于adminhtml
- 在cron
- 在webservice API1中
- 在webservice API2中
(这个问题可能是在寻找纯粹的事实,但在Magento1的范围内更有趣的是如何在代码中找到这些事件)
在了解更多信息的过程中,我收集了一些网络资源:
- Magento最早发出的事件是什么? (2011年6月问答)
- Magento启动事件 (2012年9月;艾伦*斯托姆)
- 在Magento中发射的第一个事件是什么? -(2014年4月;由E。施拉德)
解决方案
可以自己观察这些事件,如下所示:
/应用程序/法师。php修改 dispatchEvent()
功能如下:
/**
* Dispatch event
*
* Calls all observer callbacks registered for this event
* and multiple observers matching event name pattern
*
* @param string $name
* @param array $data
* @return Mage_Core_Model_App
*/
public static function dispatchEvent($name, array $data = array())
{
Mage::log($name, null, 'events.log', true); //add this line
Varien_Profiler::start('DISPATCH EVENT:'.$name);
$result = self::app()->dispatchEvent($name, $data);
Varien_Profiler::stop('DISPATCH EVENT:'.$name);
return $result;
}
现在,当您运行该页面时,您会注意到 /var/log/events.log
在加载您有兴趣观察的任何页面时,按顺序记录每个事件。
确保在您是唯一使用该站点的人员的暂存环境中执行此操作,以确保您记录的事件正确。
在单独观察每个页面后清理日志文件,以便记录的第一个事件始终是触发的第一个事件。