并且在观察者的代码中,我如何检查当前布局是否设置了一些句柄(例如not_logged_in)。
答案 0 :(得分:4)
给出
controller_action_layout_generate_blocks_after
尝试一下。 Layout对象及其子块应该由事件触发的点实例化。
只有一个Layout对象,您可以使用
抓取游戏中的句柄// get the layout->get the updates manager->get the handles
$handles = Mage::getSingleton('core/layout')->getUpdate()->getHandles();
var_dump($handles);
如果您正在处理前端代码并尝试坚持magento约定,那么最好将layout.xml文件添加到模块中,并使用布局文件添加块。虽然它不像找出新东西那么有趣!
答案 1 :(得分:1)
我很欣赏博客上的插件,但是clockworkgeek是正确的。实现此目的的最佳方法是使用布局文件添加所需的块。这些块也可以根据任意代码更改自己的渲染行为。
如果您无法使用布局,请在您的问题中详细说明,我们将很乐意为您提供帮助。
谢谢, 乔