将新块插入product.info不起作用

时间:2012-07-17 12:52:43

标签: magento block

我创建了两个新块,应该在此块之前和之后输出:

<block type="catalog/product_view" name="product.info.addtocart" as="addtocart" template="catalog/product/view/addtocart.phtml"/>

为此,我创建了一个新模块,用于更新布局。在提到的XML文件中代表:

<catalog_product_view>
  <reference name="product.info">
    <block type="disablecartonlogout/output" name="disablecartonlogout.outputbefore" as="whatever" before="product.info.addtocart" template="disablecartonlogout/product-options-bottom-before.phtml" />
    <block type="disablecartonlogout/output" name="disablecartonlogout.outputafter" as="whatever" after="product.info.addtocart" template="disablecartonlogout/product-options-bottom-after.phtml" />
  </reference>
</catalog_product_view>

我没有输出。 如果我将引用更改为“content”,则会输出块,但位置错误。

你能告诉我,我做错了吗?

2 个答案:

答案 0 :(得分:4)

您需要在所需的product.info块模板(应该是catalog/product/view.phtml)中显式调用您的块。

您要使用的方法仅适用于某些特定区块(通常core/text_listcore/template执行空getChildHtml()调用,product.info不是这种情况

答案 1 :(得分:0)

<catalog_product_view>
    <reference name="product.info.addtocart">
        <block type="disablecartonlogout/output" name="disablecartonlogout.outputbefore" as="whatever1" before="-" template="disablecartonlogout/product-options-bottom-before.phtml" />
        <block type="disablecartonlogout/output" name="disablecartonlogout.outputafter" as="whatever2" after="-" template="disablecartonlogout/product-options-bottom-after.phtml" />
    </reference>
</catalog_product_view>

然后转到:

app\design\frontend\default\themeName\template\catalog\product\view\addtocart.phtml

并添加

$this->getChildHtml('whatever1', true, true);
$this->getChildHtml('whatever2', true, true);

试试这个,因为它可以帮到你。我试过这样的事情