2
我必须加载一系列产品并对它们进行排序以供进一步显示。Magento,排序YES/NO属性
最初收集按日期排序。这工作完美无瑕。现在我不得不为产品添加新的YES/NO属性。这也很好。
我唯一无法解决的是如何通过此属性对我的收藏进行排序。 集合必须按照此新属性以及日期进行排序。
我想这会工作:
$collection->addAttributeToSelect('name');
$collection->addAttributeToSelect('YesNoAttr');
$collection->addAttributeToSelect('special_to_date');
$collection->addAttributeToSelect('short_description');
$collection->addAttributeToSelect('image');
$collection->addAttributeToSort('YesNoAttr', 'ASC')->addAttributeToSort('special_to_date', 'ASC');
$products = $collection->load();
事实并非如此。我也试着设置的顺序:
$collection->setOrder('YesNoAttr','ASC');
我试图仅通过新属性进行排序,但它也不能工作,所以我敢肯定它有没有关系我试图通过2排序属性。
我想解决这个现在几个小时,我完全不知道我做错了什么。
任何帮助将不胜感激。
FYI:'$收藏 - >负荷(真);'会响应该活动正用于收集查询。 – benmarks 2012-03-08 12:54:46
谢谢你的回复。我输出生成的查询,它只添加日期的ORDER BY部分。我试图删除日期排序,只留下$ collection-> addAttributeToSort('YesNoAttr','ASC')。当我这样做时,整个ORDER BY部分都没有了。我认为YES/NO属性不能以这种方式排序? – itd 2012-03-08 14:00:16
查看'eav_attribute'数据库表并查找属性的“代码” - 验证它是否与作为第一个参数传递给'setOrder()'的内容匹配。 – benmarks 2012-03-08 14:50:28