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

Magento advanced search - inconsistent order of results / how to define multiple order-by fields

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

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

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

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

  1. 为所有高级搜索添加默认的基本排序方式(在产品上 例如 ID 或 SKU)
  2. 找到一种指定多个排序依据的方法 字段,就像您在直接 SQL 语句中一样,“...ORDER BY xxx 升序,yyy 降序..."

我相信我已经通过将一些额外的 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