Magento高级搜索没有返回任何结果

时间:2013-09-03 08:40:02

标签: php magento magento-1.7

我的问题是,magento中的高级搜索没有返回结果(正常搜索确实)。如果我转储

$this->getLoadedProductCollection()

在我的模板中,它返回“null”。所以我查看了将集合设置为“app / code / local / Mage / CatalogSearch / Block / Advanced / Result.php”中的高级搜索模板/视图的类,并找到了这个方法:

public function setListCollection() {
    $this->getChild('search_result_list')->setCollection($this->_getProductCollection());
}

如果我转储

$this->_getProductCollection();

我得到的所有产品都符合我的搜索查询。但为什么返回我的第一个方法null?我不知道。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果产品在那里,您可能没有显示块search_result_list 检查您的布局文件catalogsearch.xml并查看句柄<catalogsearch_advanced_result>的外观。它里面应该有一个名为search_result_list的块。将其与默认主题中的一个进行比较。为了方便起见,这里显示它应该如下:

<catalogsearch_advanced_result translate="label">
    <label>Advanced Search Result</label>
    <update handle="page_two_columns_right" />
    <!-- Mage_Catalogsearch -->
    <reference name="root">
        <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
    </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">
                <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>
                <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>4</count></action>
                <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
                <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
                <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
            </block>
            <action method="setListOrders"/>
            <action method="setListModes"/>
            <action method="setListCollection"/>
        </block>
    </reference>
</catalogsearch_advanced_result>