我希望修改默认的Magento(1.6)目录排序,添加按产品实体ID排序的选项,然后将其设为默认排序。
(搜索了整个StackOverflow和Google,但只能找到适用于旧Magento版本或编辑核心文件的解决方案。)
提前致谢!
答案 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后端的缓存并准备就绪。