0

私はこれに完全に慣れていません、そして私はそれを理解することができません。コードは次のとおりです。

page.xml

<layout version="0.1.0">
    <default translate="label" module="page">
        <label>All Pages</label>
        <block type="page/html" name="root" output="toHtml" template="page/pd-1column.phtml">

            <!-- Add Styles to Head -->
            <block type="page/html_head" name="head" as="head">
                <action method="addCss"><stylesheet>css/style.css</stylesheet></action>
            </block>

            <!-- Our Header -->
            <block type="page/html_header" name="header" as="header" translate="label">
                <label>Header</label>
            </block>


            <!-- Background -->
            <block type="page/html_background" name="background" as="background" translate="label">
                <label>Background</label>
            </block>

            <!-- The Footer -->
            <block type="page/html_footer" name="footer" as="footer" template="page/html/footer.phtml">
                <label>Footer</label>
            </block>
        </block>
    </default>
</layout>

pd-1column.phtml

<!DOCTYPE html>
<head>
    <?php echo $this->getChildHtml('head'); ?>
</head>
<body>
    <div id="wrapper">
            <?php echo $this->getChildHtml('header'); ?>      
            <?php echo $this->getChildHtml('background'); ?>      
            <?php echo $this->getChildHtml('footer'); ?>
    </div>
</body>
</html>

ファイル名:header.phtml、background.phtml、footer.phtml

私は何が間違っているのですか?

編集:解決策は、page.xmlファイルを次のように変更することでした

<block type="page/html_header" name="background" as="background" template="page/html/background.phtml">
            <label>Background</label>
 </block>
4

1 に答える 1

1
 <block type="page/html_header" name="header" as="header" translate="label">

このpage/html_headerタイプでは、に存在するブロッククラスファイルに対応します

app/code/core/Mage/Page/Block/Html/Header.php

これはコアMagentoブロッククラスです。各ブロックタイプは特定のクラスファイルを指します。したがって、ヘッダーテンプレートはこれらすべてのメソッドにアクセスできます。Header.php

同様にBackground.php、ブロックはパスに存在しませんapp/code/core/Mage/Page/Block/Html/

ブロックはここでよりよく説明されています

于 2012-07-20T01:39:36.457 に答える