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

发布于 2024-10-17 11:33:58 字数 102 浏览 2 评论 0原文

如果我想有机会将块注入到(“head”块),我应该观察哪些magento前端事件?

在观察者的代码中,如何检查当前布局是否设置了某些句柄(例如 not_logged_in)。

what magento frontend events can should I observe if I want the chance to inject blocks to the ("head" block) ?

and while in the observer's code, how do I check if the current layout has some handle (e.g. not_logged_in) set.

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

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

发布评论

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

评论(2

爱你不解释 2024-10-24 11:33:58

尝试一下这个

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 文件添加到您的模块中,然后使用用于添加块的布局文件。但这并不比弄清楚新东西有趣!

Give the

controller_action_layout_generate_blocks_after

event a try. The Layout object and its child blocks should be instantiated by the point that event fires.

There's only ever one Layout object, and you can grab the handles in play with

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

If you're working on front-end code and trying to stick to magento conventions, it's probably better to add a layout.xml file to your module, and use the layout file to add your blocks. It's less fun than figuring out something new though!

残疾 2024-10-24 11:33:58

我很欣赏博客上的插件,但 Clockworkgeek 是正确的。实现此目的的最佳方法是使用布局文件添加所需的块。这些块也有可能根据任意代码改变它们自己的渲染行为。

如果您因某种原因无法使用布局,请在您的问题中详细说明,我们将很乐意为您提供帮助。

I appreciate the plug on the blog, but clockworkgeek is correct. The best way to accomplish this is to use a layout file to add the blocks you need. It is also possible for those blocks to change their own rendering behavior based on arbitrary code.

If there is a reason why you cannot use layouts, please elaborate a bit in your question and we'll be happy to help.

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