あらすじ
- 違いは何である
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')が機能しないのはなぜですか?