2011-05-21 76 views
2

在我的自定义模块中,我在会话变量中设置了一个标志,并在controller_action_layout_render_before事件中检查标志是否设置,然后附加一个自定义内容。Magento - 加载页面后执行的最后一个事件名称

我想在加载页面后取消设置会话变量中的标志。

它是如何做到的。

是否有任何事件在页面加载结束时执行?

回答

4

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; 
} 

可以让你已经解雇了特定的请求,这是通常足以追查你正在寻找自己的事件事件的列表。

2

我想你只是为一个请求的生命存储一个变量,你可能会考虑使用Magento的注册表。基本上,你插入一个值为Mage::register('some_variable_name',$variable);,并在相同请求中的其他上下文中检索它Mage::registry('some_variable_name');

有关更多信息,请参阅@Alan Storm的回答here

相关问题