【问题标题】:Magento advanced search returns no resultsMagento 高级搜索不返回任何结果
【发布时间】:2013-09-03 08:40:01
【问题描述】:

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

感谢您的帮助。

【问题讨论】:

    标签: php magento magento-1.7


    【解决方案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>
    

    【讨论】:

    • 感谢您的回答,但我的 XML 看起来和您的一模一样 :)
    • 我知道我很烦人,但你确定这条线在那里吗&lt;action method="setListCollection"/&gt;。还可以尝试将您的主题恢复为默认主题,看看问题是否正在重现。您还可以禁用自定义模块,并查看其中一个是否导致问题。
    • 是的, 就在正确的位置。我用“base”文件夹中的 xml 替换了当前的 xml,但结果相同
    • 嗨,emha,我也有同样的问题:stackoverflow.com/questions/19386241/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 2016-01-12
    • 1970-01-01
    相关资源
    最近更新 更多