Magento高级搜索 - 结果的不一致顺序/如何定义多个order-by字段

时间:2015-06-19 06:19:30

标签: php mysql magento sql-order-by advanced-search

我发现搜索结果在Magento 1.9.0.1中以不一致的顺序出现。

在下面的this示例中,我已指定结果应按价格排序,这有效,但每次执行搜索时,相同价格的产品会以不同的顺序出现。

有谁知道如何解决这个问题?

两种可能的解决方案(我不知道如何实施)是:

  1. 为所有高级搜索添加默认的基本订单(在产品上) 例如ID或SKU)
  2. 找到指定多个order-by的方法 字段,就像在直接SQL语句中一样,“... ORDER BY xxx ASC,yyy DESC ......“

1 个答案:

答案 0 :(得分:0)

我相信我已经通过将一些额外的XML应用到/app/design/frontend//thk/default/layout/catalogsearch.xml来解决这个问题,请参阅下面的“search_result_list”元素。这似乎已经有效地实现了上述(1)。

<catalogsearch_advanced_result translate="label">
    ...
    <reference name="search_result_list">
        <action method="setDefaultDirection"><param>ASC</param></action>
        <action method="setSortBy"><param>name</param></action>
    </reference>
   ...
</catalogsearch_advanced_result>

感谢Adam-Allen in this stackexchange answer