在Magento中从观察者创建自定义块


Create a Custom Block from Observer in Magento

我需要编写一个观察器来在产品详细信息页面底部显示产品块。

所以,我已经写了捕捉事件"catalog_product_load_after"。但是我需要创建一个自定义块,可以通过产品详细信息页面中的getChildHtml()调用。

任何帮助将不胜感激。

如果您等待触发的事件只是为了加载产品详细信息/查看页面,听起来您根本不需要观察者?我可能是错的,但请提供您想要发生的事情的背景和要点。

我假设您想在产品视图的底部添加一个静态块?如果是这样,则无需添加观察器。

要使用 getChildHtml('block_name') ,您需要在主题的目录中定义它.xml。在布局控点catalog_product_view<reference name="content">内添加以下内容:

<block type="cms/block" name="block_name">
    <action method="setBlockId"><block_id>block_identifier</block_id></action>
</block>

然后,在您的产品视图.phtml中,您可以添加:

<?php echo $this->getChildHtml('block_name'); ?>

在您希望它出现的位置。