我创建了两个新块,应该在此块之前和之后输出:
<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”,则会输出块,但位置错误。
你能告诉我,我做错了吗?
答案 0 :(得分:4)
您需要在所需的product.info
块模板(应该是catalog/product/view.phtml
)中显式调用您的块。
您要使用的方法仅适用于某些特定区块(通常core/text_list
或core/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);
试试这个,因为它可以帮到你。我试过这样的事情