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


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

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

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

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

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

  1. 要向所有高级搜索添加默认的"基本订购依据"(在产品上)例如 ID 或 SKU)
  2. 找到一种指定多个排序方式的方法字段,就像您在直接 SQL 语句中所做的那样,"...订购方式xxx ASC, yyy DESC..."
我相信

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

在这个堆栈交换答案中向亚当-艾伦致敬。