Magento - 加载页面后执行的最后一个事件名称

发布于 2024-11-09 00:44:11 字数 189 浏览 0 评论 0原文

在我的自定义模块中,我在会话变量中设置了一个标志,并在 controller_action_layout_render_before 事件中设置了标志,检查是否设置了标志,然后附加自定义内容。

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

怎么办呢。

当页面加载时,是否有任何事件在最后执行?

In my custom module i have set a flag in session variable, and in controller_action_layout_render_before event, checking if the flag is set in then append a custom content.

I want to unset the flag in session variable after the page is loaded.

How can it be done.

Is there any event which is executed at the end when the page is getting loaded?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独﹏钓一江月 2024-11-16 00:44:11

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

可以获取针对特定请求触发的事件列表,这通常足以跟踪您自己查找的事件。

The

controller_front_send_response_after

event should work for you. Temporarily adding some logging to 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;
}

can get you a list of events that have fired for a particular request, which is usually enough to track down the event you're looking for yourself.

谁对谁错谁最难过 2024-11-16 00:44:11

如果您希望仅在单个请求的生命周期内存储变量,您可以考虑使用 Magento 的注册表。基本上,您可以使用 Mage::register('some_variable_name',$variable); 插入一个值,并在同一请求的其他上下文中使用 Mage::registry('some_variable_name' );

参考@Alan Storm 的回答此处了解更多信息。

I've you're looking to store a variable only for the life of a single request, you might consider using Magento's registry. Basically, you insert a value with Mage::register('some_variable_name',$variable); and retrieve it in some other context in the same request with Mage::registry('some_variable_name');

Refer to @Alan Storm's answer here for more information.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文