通过观察到的事件将magento块注入头部

通过观察到的事件将magento块注入头部,magento,magento-1.4,Magento,Magento 1.4,如果我希望有机会将块注入(“头”块),我应该观察哪些magento前端事件 在observer的代码中,我如何检查当前布局是否设置了一些句柄(例如未登录)。我很欣赏博客上的插件,但时钟工程师是正确的。实现这一点的最佳方法是使用布局文件添加所需的块。这些块也可以基于任意代码更改自己的渲染行为 如果您有不能使用布局的原因,请在您的问题中详细说明,我们很乐意提供帮助 谢谢, 乔给我 controller_action_layout_generate_blocks_after 这是一次尝试。布局对象及

如果我希望有机会将块注入(“头”块),我应该观察哪些magento前端事件


在observer的代码中,我如何检查当前布局是否设置了一些句柄(例如未登录)。

我很欣赏博客上的插件,但时钟工程师是正确的。实现这一点的最佳方法是使用布局文件添加所需的块。这些块也可以基于任意代码更改自己的渲染行为

如果您有不能使用布局的原因,请在您的问题中详细说明,我们很乐意提供帮助

谢谢, 乔

给我

controller_action_layout_generate_blocks_after
这是一次尝试。布局对象及其子块应按事件触发点实例化

只有一个布局对象,您可以在游戏中抓住手柄

// get the layout->get the updates manager->get the handles
$handles = Mage::getSingleton('core/layout')->getUpdate()->getHandles();
var_dump($handles);

如果您正在处理前端代码并试图遵守magento约定,那么最好将layout.xml文件添加到模块中,并使用layout文件添加块。不过,这并没有想出新点子有趣

好的,我找到了这个事件列表,我将在前面使用控制器\动作\布局\渲染。现在我如何检查句柄?为什么不使用布局文件?因为在我的情况下,“新”布局会更改模板,而不仅仅是添加块。因此,如果一些先决条件尚未满足(扩展尚未正确配置),那么我不希望进行修改。如果布局xml文件有一个“onlyIf”属性,该属性指向一个辅助函数,然后该辅助函数可以决定是否应该实际进行覆盖,那就太好了。@使用“Magento方法”可以创建自定义块类,覆盖渲染方法,并且只在满足条件的情况下调用父方法。评论“plug on the blog”太长了吗??请参阅问题注释中的原因。感谢您提供的句柄指针。我惊讶地发现,几乎没有人支持这个话题。i、 e.没有isHandleSet或类似的东西…@epeleg 1。你很惊讶?您必须是Magento的新手:)2。作为系统的客户端程序员,您实际上不应该与句柄进行太多的交互。句柄让布局系统知道要从包布局中提取哪些XML更新。把它们用于其他任何事情,虽然很有趣,但可能是自找麻烦。虽然被指控有罪,但我每天都在更好地了解它的工作原理。2.我知道这一点,基本上这正是我想要做的。只不过我是按程序做的,而不是按限制做的,这样我就可以打开和关闭它了。3.如果我对我正在查看的代码进行了正确的下载,那么句柄也会用作缓存键的一部分,因此我可能还会添加一个句柄,以便在扩展状态更改时使缓存无效。b、 t.w-在给定布局对象的情况下,是否有合理的方法查看布局所包含的块。