在我的自定义模块中,我在会话变量中设置了一个标志,在controller_action_layout_render_before
事件中,检查是否设置了标志然后附加自定义内容。
我想在页面加载后取消设置会话变量中的标志。
怎么做呢。
当页面加载时,是否有任何事件在最后执行?
答案 0 :(得分:5)
在
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;
}
可以为您提供针对特定请求触发的事件列表,这通常足以跟踪您自己寻找的事件。
答案 1 :(得分:3)
我希望您只在一个请求的生命周期内存储变量,您可以考虑使用Magento的注册表。基本上,您使用Mage::register('some_variable_name',$variable);
插入一个值,并使用Mage::registry('some_variable_name');
有关详细信息,请参阅@Alan Storm的答案here。