magento模板中将filter放在中间栏

magento筛选器
magento筛选器

在magento模板中,如何实现如上图的效果,将左栏的筛选器放在中间部分,这是目前比较流行和实用的模板样式。

本例使用magento1.4代码,请修改你在使用的magento模板文件。

1.在文件:layout\catalog.xml中的代码

<!--
Category default layout
-->
    <catalog_category_default translate="label">
        <label>Catalog Category (Non-Anchor)</label>
        <reference name="left">
            <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
        </reference>
        <reference name="content">
            <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
                <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
                    <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
                        <block type="page/html_pager" name="product_list_toolbar_pager"/>

修改为

<!--
Category layered navigation layout
-->
    <catalog_category_layered translate="label">
        <label>Catalog Category (Anchor)</label>
        <reference name="content">
			<block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
                <block type="catalog/layer_view" name="catalog.leftnav" as="catalog_filter" template="catalog/layer/view.phtml"/>
				<block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
                    <!-- <action method="addReviewSummaryTemplate"><type>default</type><template>review/helper/su.phtml</template></action> -->
                    <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
                        <block type="page/html_pager" name="product_list_toolbar_pager"/>

即是将<block type=”catalog/layer_view” name=”catalog.leftnav” as=”catalog_filter” template=”catalog/layer/view.phtml”/>这行代码换了位置,加了个as属性

2.在文件template\catalog\category\view.phtml

中添加两行<?php echo $this->getChildHtml(‘catalog_filter’) ?>

代码如下

<?php elseif($this->isMixedMode()): ?>
    <?php echo $this->getCmsBlockHtml() ?>
	<?php echo $this->getChildHtml('catalog_filter') ?>
    <?php echo $this->getProductListHtml() ?>

<?php else: ?>
    <?php echo $this->getChildHtml('catalog_filter') ?>
	<?php echo $this->getProductListHtml() ?>
<?php endif; ?>

注意我添加到哪个位置了。

3.刷新magento缓存,查看结果。修改filter的模板文件和css,完成前台的效果。

转载表明处处:hellokeykey.com

《magento模板中将filter放在中间栏》有10个想法

  1. key sir:
    3.刷新magento缓存,查看结果。修改filter的模板文件和css,完成前台的效果
    后面那段没有解释嘛?如果不修改filter和css 刷新完magento缓存 结果又是什么样的呢?

  2. 钥匙哥, 是否有试过在最新的magento 1.7里应该怎么设置, 把filter 放到中间去? 你这边写的方法好像不行了,我试了好几次, 都无法显示东西

评论已关闭。