任何页面加载的Magento事件

aja*_*olf 19 magento

我想知道是否每次加载页面时都会触发一次事件,然后再渲染为magento中的html?

如果要为不依赖于用户会话的半静态属性执行某些业务逻辑,这可能很有用.

例如,我将使用它将规范标签传递给magento的标题.

ben*_*rks 39

对于大多数页面/内容生成请求,有几个与请求相关的事件被分派.下面是一些有用的处理顺序的部分列表,我希望其他人可以与其他人一起评论这篇文章.其中许多不适合您的需要(我在下面以粗体字注明您应该开始考虑的地方).还有一些与块实例化相关的事件,尽管它们可以用于您的目的,但它们对于每个块都是通用的,并且实际上并不合适.

假设renderLayout()在您关注的所有操作中使用它,它会调度两个事件(一个是通用的,一个是特定于路由的):

    Mage::dispatchEvent('controller_action_layout_render_before');
    Mage::dispatchEvent('controller_action_layout_render_before_'.$this->getFullActionName());
Run Code Online (Sandbox Code Playgroud)

在完成所有路由,调度,视图配置,块实例化和渲染之后,有一个最后沟渠事件,在发送响应之前由前端控制器调度:.这个活动并不适合你的需要,但这是开始这个答案的活动的一个很好的书挡. controller_front_send_response_beforecontroller_front_init_before