我正在尝试在类别页面上拆分2列左侧模板。
现在它看起来像这样:
_________________________________
| | |
| | Page Title |
| | |
|(sidebar) | (main content) |
| | |
| | |
|__________|____________________|
我需要在左侧菜单中向上移动类别名称和说明,并像这样填充宽度100%:
_________________________________
| |
| Page Title |
|_______________________________|
| | |
|(sidebar) | (main content) |
| | |
| | |
|__________|____________________|
我无法弄清楚从哪里开始。当我查看XML时,它似乎不是我可以放在其他地方的单独部分。
答案 0 :(得分:3)
首先更新目录布局以使用单列模板。然后将catalog.leftnav块复制到category.products块中。
<!-- {THEME_PATH}/design/layout/catalog.xml -->
<catalog_category_default translate="label">
<!-- Update the layout to use the single column template -->
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
<reference name="content">
<block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
<!-- Move the catalog navigation block into the category view block -->
<block type="catalog/navigation" name="catalog.leftnav" before="-" template="catalog/navigation/left.phtml"/>
</block>
</reference>
</catalog_category_default>
一旦catalog.leftnav块是category.products块的子节点,您就可以使用getChildHtml()方法在category.products视图模板中显示它。
<!-- {THEME_PATH}/design/template/catalog/category/view.phtml -->
<div class="category-view">
<div class="page-header">
...
</div>
<div class="category-nav">
<?php echo $this->getChildHtml('catalog.leftnav'); ?>
</div>
<div class="category-content">
...
<?php echo $this->getProductListHtml(); ?>
...
</div>
</div>
你喜欢的风格。希望有所帮助。