Magento按实体ID降序排序

时间:2012-07-01 13:38:50

标签: php magento

我希望修改默认的Magento(1.6)目录排序,添加按产品实体ID排序的选项,然后将其设为默认排序。

(搜索了整个StackOverflow和Google,但只能找到适用于旧Magento版本或编辑核心文件的解决方案。)

提前致谢!

2 个答案:

答案 0 :(得分:1)

这篇http://blog.chapagain.com.np/magento-join-filter-select-and-sort-attributes-fields-and-tables/是一篇很好的文章,提供了有关如何过滤和排序集合的信息。

答案 1 :(得分:0)

在不更改任何核心文件的情况下,最好的方法是复制位于以下位置的Toolbar.php文件:

/app/code/core/Mage/Catalog/Block/Product/List/Toolbar.php

然后在:

下创建一个新的目录路径(如果你还没有创建一个)
/app/code/local/Mage/Catalog/Block/Product/List/Toolbar.php

现在从第232行替换以下内容:

    if ($this->getCurrentOrder()) {
        $this->_collection->setOrder($this->getCurrentOrder(), $this->getCurrentDirection());
    }

if ($this->getCurrentOrder()) {
if(($this->getCurrentOrder())=='position'){ //defines the sort option
//sort by entity_id (descending)
$this->_collection->addAttributeToSort('entity_id','desc');
} else {
$this->_collection->setOrder($this->getCurrentOrder(),$this->getCurrentDirection());
}
}

最后,重新索引并刷新Magento后端的缓存并准备就绪。