Ringkasan
- Apa perbedaan antara
getChildHtml
dangetBlockHtml
? - Bagaimana saya bisa mendapatkan judul cms / blok di template?
Saya telah dasarnya diganti footer dengan footer saya sendiri dan mengatur sendiri <?= $this->getChildHtml('...') ?>
ini tidak bekerja sampai aku digunakan: <?= $this->getBlockHtml('...') ?>
.
Layout 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>
Templat (tidak berfungsi):
<footer>
<div class="row">
<div class="col-sp4"><?= $this->getChildHtml('child_1') ?></div>
</div>
</footer>
Templat (Karya):
<footer>
<div class="row">
<div class="col-sp4"><?= $this->getBlockHtml('child_1') ?></div>
</div>
</footer>
Larutan:
Pertama-tama saya harus mengganti footer di dalam saya local.xml
dengan:
<default>
<block type="core/template" template="page/html/custom_footer.phtml" name ="custom_footer" as "footer" />
</default>
Saya harus menambahkan anak-anak saya (agar getChildHtml()
dapat bekerja):
<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">
apakah anak itu adalah anak kecilfooter
? Dalam hal ini mengapa `getChildHtml ('child_1') tidak berfungsi?getChildHtml
tidak berfungsi karena halaman tata letak (3columns.phtml misalnya) masih membuat blok footer default. Maksud saya ada<?php echo $this->getChildHtml('footer') ?>
di dalamnya. Apakah saya benar? Saya memotret dalam gelap di sini karena saya tidak tahu bagaimana tampilan halaman tata letak Anda, tetapi ini adalah hal pertama yang akan saya periksa. Coba ubah<?php echo $this->getChildHtml('custom_footer') ?>
dan lihat apakah Anda dapat menggunakannyagetChildHtml
.