Magento - 在自动填充搜索表单中对建议进行排序/排序

时间:2011-06-10 21:18:22

标签: magento

如何更改自动填充搜索表单建议中的排序/顺序。

我使用Magento 1.4.1.1版

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

要快速,请将/app/code/core/Mage/CatalogSearch/Model/Mysql4/Query/Collection.php复制到/ app / code / 本地本地范围文件中的/Mage/CatalogSearch/Model/Mysql4/Query/Collection.php找到这一行:

->order('popularity desc');

并将其替换为:

->order('query_text asc');

这足以让它发挥作用。

如果你对它的工作方式感兴趣,你可以去。

  1. form.mini.phtml通过以下网址suggestActionMage_CatalogSearch_AjaxController http://www.yourdomain.com/catalogsearch/ajax/suggest?q=query函数发送请求(可能对调试非常有用)。
  2. 然后Mage_CatalogSearch_Block_Autocomplete的实例通过catalogsearch_query函数调用对数据库getSuggestCollection表进行查询。
  3. 在这个函数内部构建了实际的集合,但由于某些原因我无法将setOrder函数应用于它,所以我不得不深入挖掘一步。
  4. 线索在于您刚才复制的文件中的setQueryFilter函数。更换排序方法就可以了。
  5. 希望它有所帮助。