0

我需要找到一种方法来添加另一个排序顺序,以便我可以随机排序,或者我需要覆盖核心搜索系统以实现相同的目的。(或两者的某种组合?)

我知道 magento 搜索文件位于 app/code/core/Mage/CatalogSearch/ 中,但我不确定需要更改哪些文件。

4

2 回答 2

1

您要查找的文件是app/code/core/Mage/CatalogSearch/Model/Layer.php. 类的名称是Mage_Catalog_Model_Layer。在它里面你会看到函数prepareProductCollection($collection)

我建议您重写此模型(请参阅thisthis)并覆盖上述功能并添加/实现您的排序逻辑。覆盖此函数的一个示例是

class XXX_XXX_Model_CatalogSearch_Layer extends Mage_CatalogSearch_Model_Layer
{
    public function prepareProductCollection($collection)
    {
        parent::prepareProductCollection($collection);
        $collection->addAttributeToSelect('some_attribute');
        $collection->setOrder('some_attribute', 'asc');
        return $this;
    }
}
于 2013-08-22T13:57:39.323 回答
0

转到文件位置 community\app\code\core\Mage\CatalogSearch\Block\Result.php 并找到函数 public function setListOrders() 在这里您可以更改为您的自定义订单

于 2013-08-22T13:53:36.273 回答