1

我的问题是,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 呢?我不知道。

谢谢你的帮助。

4

1 回答 1

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>
于 2013-09-03T08:45:54.457 回答