如果我想有机会将块注入到(“head”块),我应该观察哪些magento前端事件?以及在观察者的代码中,如何检查当前布局是否设置了句柄(例如not_logged_in)。
ee7vknir1#
给予
controller_action_layout_generate_blocks_after
布局对象及其子块应该在事件触发点示例化。这里只有一个Layout对象,您可以使用
// get the layout->get the updates manager->get the handles $handles = Mage::getSingleton('core/layout')->getUpdate()->getHandles(); var_dump($handles);
如果你正在编写前端代码,并且试图坚持magento的惯例,那么最好在你的模块中添加一个layout.xml文件,然后使用这个布局文件来添加你的块,尽管这没有想出新的东西那么有趣!
y4ekin9u2#
我很欣赏博客上的插件,但clockworkgeek是正确的。完成这一点的最好方法是使用布局文件添加所需的块。那些块也有可能基于任意代码更改自己的渲染行为。如果您有无法使用布局的原因,请在您的问题中详细说明,我们很乐意为您提供帮助。
2条答案
按热度按时间ee7vknir1#
给予
布局对象及其子块应该在事件触发点示例化。
这里只有一个Layout对象,您可以使用
如果你正在编写前端代码,并且试图坚持magento的惯例,那么最好在你的模块中添加一个layout.xml文件,然后使用这个布局文件来添加你的块,尽管这没有想出新的东西那么有趣!
y4ekin9u2#
我很欣赏博客上的插件,但clockworkgeek是正确的。完成这一点的最好方法是使用布局文件添加所需的块。那些块也有可能基于任意代码更改自己的渲染行为。
如果您有无法使用布局的原因,请在您的问题中详细说明,我们很乐意为您提供帮助。