我的问题是,在magento中的高级搜索没有返回结果(普通搜索会返回结果)。如果我转储
$this->getLoadedProductCollection()
在我的Template中,它返回"null"。因此,我在"app/code/local/Mage/CatalogSearch/Block/advanced/Result.php"中查看了将集合设置为高级搜索模板/视图的类,发现了以下方法:
public function setListCollection() {
$this->getChild('search_result_list')->setCollection($this->_getProductCollection());
}
如果我转储
$this->_getProductCollection();
我得到了与我的搜索查询匹配的所有产品。但是为什么返回我的第一个方法null?我不知道。
谢谢你的帮助。
如果有产品,可能您没有显示块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>