概要
getChildHtml
和之间有什么区别getBlockHtml
?- 如何在模板中获取cms / block标题?
实际上,我已经用自己的页脚替换了页脚,并设置了自己的页脚。<?= $this->getChildHtml('...') ?>
直到我使用了,该方法才起作用<?= $this->getBlockHtml('...') ?>
。
布局XML:
<layout>
<default>
<block type="core/template" name="custom_footer" as="footer" template="page/html/footer.phtml">
<block type="cms/block" name="child_1">
<action method="setBlockId"><block_id>footer_child_1</block_id></action>
</block>
</block>
</layout>
</default>
模板(无效):
<footer>
<div class="row">
<div class="col-sp4"><?= $this->getChildHtml('child_1') ?></div>
</div>
</footer>
范本(作品):
<footer>
<div class="row">
<div class="col-sp4"><?= $this->getBlockHtml('child_1') ?></div>
</div>
</footer>
解:
首先,我必须通过以下方法覆盖页脚中的页脚local.xml
:
<default>
<block type="core/template" template="page/html/custom_footer.phtml" name ="custom_footer" as "footer" />
</default>
我必须添加我的孩子(以便getChildHtml()
工作):
<reference name="footer">
<block type="cms/block" name="child_1">
<action method="setBlockId"><block_id>footer_child_1</block_id></action>
</block>
</reference>
<block type="cms/block" name="child_1">
是孩子footer
吗?在哪种情况下,为什么getChildHtml('child_1')不起作用?