在我的 magento 网站上,我们要求按 2 个属性对产品列表进行排序,“制造商”、“名称”,然后回退到唯一和默认属性“实体 ID”。
似乎 magento 只允许您按 1 和 entity_id 订购。如果需要,我不介意必须以一种骇人听闻的方式执行此操作。
环顾四周,有几个人有问题,但似乎没有人提供答案,所以我想我会在此之前给出这个问题(第一个问题也是如此,必须是一个强硬的人:))。
http://www.magentocommerce.com/boards/viewthread/7314/
http://www.magentocommerce.com/boards/viewthread/206869/
最佳答案
经过一些研究(我不是 php 开发人员 =/),以下似乎有效:
setOrder() 方法接受一个数组。
$Collection->setOrder(array('attribute1', 'attribute2'), asc);
我不确定有人会如何使用它,但我在 Catalogue/Product/List/目录中的 Toolbar.php 中修改了这一行。
if ($this->getCurrentOrder()) {
$this->_collection->setOrder(array($this->getCurrentOrder(), 'name'), $this->getCurrentDirection());
}
所以我所有的收藏都按当前顺序(默认顺序)排序,然后硬编码到按名称排序。仍在对其进行一些测试,但似乎有效......
关于sql - 在 magento catal 中按 2 个属性对产品进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4900734/