在我的自定义模块中,我在会话变量中设置了一个标志,并在controller_action_layout_render_before
事件中检查标志是否设置,然后附加一个自定义内容。Magento - 加载页面后执行的最后一个事件名称
我想在加载页面后取消设置会话变量中的标志。
它是如何做到的。
是否有任何事件在页面加载结束时执行?
在我的自定义模块中,我在会话变量中设置了一个标志,并在controller_action_layout_render_before
事件中检查标志是否设置,然后附加一个自定义内容。Magento - 加载页面后执行的最后一个事件名称
我想在加载页面后取消设置会话变量中的标志。
它是如何做到的。
是否有任何事件在页面加载结束时执行?
的
controller_front_send_response_after
事件应该为你工作。暂时添加一些记录到app/Mage.php
public static function dispatchEvent($name, array $data = array())
{
//Mage::Log($name);
file_put_contents('/tmp/event.log',"$name\n",FILE_APPEND);
Varien_Profiler::start('DISPATCH EVENT:'.$name);
$result = self::app()->dispatchEvent($name, $data);
#$result = self::registry('events')->dispatch($name, $data);
Varien_Profiler::stop('DISPATCH EVENT:'.$name);
return $result;
}
可以让你已经解雇了特定的请求,这是通常足以追查你正在寻找自己的事件事件的列表。
我想你只是为一个请求的生命存储一个变量,你可能会考虑使用Magento的注册表。基本上,你插入一个值为Mage::register('some_variable_name',$variable);
,并在相同请求中的其他上下文中检索它Mage::registry('some_variable_name');
有关更多信息,请参阅@Alan Storm的回答here。