搜索显示所有带图层导航的产品

时间:2012-01-02 12:48:34

标签: magento layered-navigation advanced-search

我正在尝试修复高级搜索页面上的错误。 问题是,如果我搜索某些键说“红色”,那么所有结果都会显示出来。例如:对于红色,它在单页中显示62个结果,即使分页限制在那里。分页设置为每页显示27个产品。但页面仍显示所有62种产品。 这意味着,最初分页不起作用。

我对此做了一些研究,发现层导航导致了这个问题。我试图从设置(catalogsearch.xml)文件中删除图层导航并尝试,然后搜索非常快,分页也工作正常。我需要分页和图层导航。

这是我的高级搜索块代码。

<catalogsearch_advanced_result translate="label">
    <label>Advanced Search Result</label>
    <update handle="page_two_columns_right" />
    <!-- Mage_Catalogsearch -->
    <reference name="head">
        <action method="addJs"><script>javascript/jquery.history.js</script></action>
    </reference>
    <reference name="root">
        <action method="setTemplate"><template>page/searchresult-left.phtml</template></action>
    </reference>
    <reference name="left">
        <action method="unsetChild"><name>catalog.vertnav</name></action>

        <block type="catalogsearch/layer" name="catalogsearch.leftnav" template="catalogsearch/layer/view.phtml"/>

    </reference>
    <reference name="content">
        <block type="catalogsearch/advanced_result" name="catalogsearch_advanced_result" template="catalogsearch/advanced/result.phtml">
            <block type="catalog/product_list" name="search_result_list" template="catalog/product/list.phtml">
                <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
                <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
                <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>3</count></action>
                <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>3</count></action>
                <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></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" />
                    <action method="addAjax"><ajax>true</ajax></action>
                    <action method="addPagerLimit"><mode>grid</mode><limit>27</limit></action>
                    <action method="addPagerLimit"><mode>grid</mode><limit>54</limit></action>
                    <action method="addPagerLimit"><mode>grid</mode><limit>75</limit></action>
                    <action method="addPagerLimit"><mode>grid</mode><limit>100</limit></action>
                    <action method="addPagerLimit"><mode>grid</mode><limit>all</limit><label>All</label></action>
                </block>
                <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
            </block>
            <action method="setListOrders"/>
            <action method="setListModes"/>
            <action method="setListCollection"/>
        </block>
    </reference>
</catalogsearch_advanced_result>

请说明为什么分页在首次加载时不起作用。后来分页工作正常。

1 个答案:

答案 0 :(得分:0)

有一种简单的方法。

您可以将属性状态设置为“在高级搜索中可见”(在属性管理中)。

然后你只需要更改模板/ catalogsearch / advanced / form.phtml文件,在表格标签内放置这个html:<input type="hidden" name="status" id="status" value="1"/>

最后,您需要从属性字段中删除“状态”字段,在打开foreach后放置此代码:<?php if($_attribute->getAttributeCode() == 'status') continue; ?>