我有一个小的自定义模块应该在所有产品页面上显示,但它没有。它仅在设置对" content"的引用时显示,但我希望它显示在已有的产品视图div中,因此,将其显示在" product.info"参考
这是我的代码:
应用/设计/前端/默认/公司/布局/公司/ socialbuttons.xml
<?xml version="1.0"?>
<layout>
<catalog_product_view>
<reference name="product.info">
<block type="core/template" name="company_socialbuttons" template="company/socialbuttons.phtml" />
</reference>
</catalog_product_view>
</layout>
我花了好几个小时才发现错误,没有成功,如果我很快找不到解决方案,我会以丑陋的方式(在父母phtml中调用phtml)。我做错了什么?
答案 0 :(得分:1)
如果直接引用product.info块,则必须在产品视图模板中使用对getChildHtml()的调用:
echo $this->getChildHtml('company_socialbuttons');
答案 1 :(得分:1)
product.info
句柄是catalog/product_view
块的实例,content
是core/text_list
块的实例。后一个块正在渲染每个子块,即使模板中没有调用getChildHtml()
方法也是如此。
因此,如果您要将块添加到product.info
,则应在模板中调用getChildHtml()
方法。
或者,您可以尝试product.info
块中的其他块的引用:alert.urls
或product.info.extrahint