2

我正在尝试拆分类别页面上的 2-columns-left 模板。

现在它看起来像这样:

_________________________________
|          |                    |
|          | Page Title         |
|          |                    |
|(sidebar) | (main content)     |
|          |                    |
|          |                    |
|__________|____________________|

我需要将类别名称和描述向上移动到左侧菜单上,并将宽度填充为 100%,如下所示:

_________________________________
|                               |
| Page Title                    |
|_______________________________|
|          |                    |
|(sidebar) | (main content)     |
|          |                    |
|          |                    |
|__________|____________________|

我不知道从哪里开始。当我查看 XML 时,它似乎不是可以放在其他地方的单独部分。

4

1 回答 1

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>

风格随你喜欢。希望有帮助。

于 2013-02-16T03:22:04.383 回答