我已更新我的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'); ?>
然而这不起作用;结果是主页布局的左栏中没有打印任何内容。
答案 0 :(得分: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中 - &gt;页面 - &gt; home layuout更新XML。
<reference name="left">
<block type="catalog/navigation" name="catalog.leftnav" as="categorySidebar" after="currency" template="catalog/navigation/left-home.phtml"/>
</block>
</reference>
答案 1 :(得分:0)
请试试这个
<default>
<reference name="left">
<block type="catalog/navigation" name="catalog.leftnav" as="categorySidebar" after="currency" template="catalog/navigation/left.phtml"/>
</block>
</reference>
</default>
同样清除magento缓存