2

page.xml次のように、左側の列にカテゴリ テンプレートを含めるようにファイルを更新しました。

<page_one_column_home translate="label">
    <label>All One-Column Home Layout Pages</label>
    <reference name="root">
        <action method="setTemplate"><template>page/1column-home.phtml</template></action>
        <!-- Mark root page block that template is applied -->
        <action method="setIsHandle"><applied>1</applied></action>
    </reference>
    ...
</page_one_column_home>

このコードを追加しました:

    <reference name="left">
        <block type="catalog/navigation" name="category.sidebar" as="categorySidebar" template="catalog/navigation/left.phtml"/>
    </reference>

また、「左」列に生成された HTML を印刷するようにホームページ テンプレート ファイルを更新しました。

<?php echo $this->getChildHtml('left'); ?>

ただし、これは機能していません。その結果、ホームページ レイアウトの左側の列には何も印刷されません。

4

2 に答える 2

1

独自のベース テンプレートを変更する必要はありません。

後藤

Magento CMS -> pages -> home

デザイン タブを変更し、必要に応じてレイアウトを左 2 列または 3 列から選択します。

その後、左側のナビゲーションを使用できますが、変更が必要になる場合があります。left.phtml をチェックすると、現在のカテゴリがあるかどうかがチェックされ、ない場合は表示されません。

そのテンプレートのコピーを作成できます。次に例を示します。

copy catalog/navigation/left.phtml to catalog/navigation/left-home.phtml

次に、次のように変更できます。

<?php if (!Mage::registry('current_category')) return ?>
<?php $_categories = $this->getCurrentChildCategories() ?>

これに:

<?php //if (!Mage::registry('current_category')) return ?>
<?php $_categories = $this->getStoreCategories() ?>

これにより、左側のナビゲーションにすべての最上位カテゴリが表示されます。

次に、これを CMS -> ページ -> ホーム レイアウト更新 XML に追加します。

<reference name="left">
    <block type="catalog/navigation" name="catalog.leftnav"  as="categorySidebar" after="currency"     template="catalog/navigation/left-home.phtml"/>
    </block>
</reference>
于 2012-11-06T11:18:38.670 に答える
0

これを試してください

<default>
    <reference name="left">
    <block type="catalog/navigation" name="catalog.leftnav"  as="categorySidebar" after="currency"     template="catalog/navigation/left.phtml"/>
    </block>
    </reference>
    </default>

マジェントキャッシュもクリア

于 2012-11-06T05:01:13.373 に答える