2

ニュースレターをサイドバーではなくフッターに移動するために、次のファイルを編集しました

app/design/frontend/base/default/layout/newsletter.xml

次のコードを変更しました。

<reference name="left">
        <block type="newsletter/subscribe" name="left.newsletter" template="newsletter/subscribe.phtml"/>
    </reference>

に:

<reference name="footer">

追加する必要がなかったのはなぜですか

$this->getChildHtml('newsletter')

またはfooter.phtmlに似ていますか?getChildHtml()を使用する場合と使用しない場合がわかりません。この記事の演習2で必要なすべての手順はありますか?
ありがとう。

4

1 に答える 1

7

page/html/footer.phtmlフッターブロックのテンプレートである、を見てください

<div class="footer-container">
    <div class="footer">
        <?php echo $this->getChildHtml() ?>
        <p class="bugs"><?php echo $this->__('Help Us to Keep Magento Healthy') ?> - <a href="http://www.magentocommerce.com/bug-tracking" onclick="this.target='_blank'"><strong><?php echo $this->__('Report All Bugs') ?></strong></a> <?php echo $this->__('(ver. %s)', Mage::getVersion()) ?></p>
        <address><?php echo $this->getCopyright() ?></address>
    </div>
</div>

次のPHPを使用して子ブロックを出力したことがわかります

<?php echo $this->getChildHtml() ?>

getChildHtmlパラメータなしでが呼び出されると、追加されたブロックが出力さます。だからあなたはあなた自身の呼び出しを含める必要はありませんでした$this->getChildHtml('newsletter')

于 2012-06-05T01:17:24.207 に答える