Magento - 将phtml文件添加到布局块

时间:2011-04-27 14:17:54

标签: magento

我正在尝试添加一些代码,这些代码会直接在产品页面上显示产品价格下方的文字 - 此外,我试图通过不仅将代码复制到view.phtml中来实现'Magento'方式,而是通过创建在块中,然后在布局文件中引用该块。

无论好坏,我都想关注this tutorial

到目前为止,我已经创建了包含我想要显示的内容的phtml文件(sharethis.phtml) 在页面xml:

中创建了一个引用
<block type="core/text_list" name="sharethis" as="sharethis"/>

在此块之后

<block type="core/text_list" name="left" as="left" translate="label">
<label>Left Column</label>
</block>

在catalog.xml中引用该引用,就在第一个默认标记之后:

    <reference name="sharethis">
        <block type="catalog/product_new" name="sharethis" template="catalog/product/view/sharethis.phtml"/>
    </reference>

最后从view.phtml文件中调用该块,如此

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

但它没有出现。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

您是否尝试添加结构块?或只是价格下方的一块?因为他们是不同的。如果我理解你在catalog.xml(布局文件)中尝试做什么,请添加:

<catalog_product_view>
   ...
   <reference name="content">
       <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
        <!--- ADD THIS -->
           <block type="catalog/product_new" name="sharethis" template="catalog/product/view/sharethis.phtml"/>
        <!-- END ADD -->
       ...
       </block>
    ...
    </reference>
    ...
</catalog_product_view>

基本上为了回应一个子块,所述块必须是你所在的块的孩子。

此外,您的类型可能有误,请确保使用的是正确类型。

答案 1 :(得分:1)

我认为你不能拥有2个具有相同名称的区块(这就是你要获得的,因为你宣布2个区块“sharethis”)