我在马根托的排序上有问题。
$productPriceCollection = $products2->addAttributeToSort('mb_rank', 'DESC')->setPageSize("3")->addStoreFilter()->load();
$priceOrderCollection = $productPriceCollection->setOrder('price', 'ASC')->load();我在这里试图做的是获得前3种产品,其中的mb_rank最高,然后只按价格上升对这3种产品进行排序,并加载该列表,作为我在其余过程中使用的最终列表。
但随着价格的下降,我总是得到订单。
我已经试过了
$priceOrderCollection = $productPriceCollection->addAttributeToSort('price', 'ASC')->load();没什么区别。
我在这里做错什么了?
最好的
发布于 2014-02-17 12:17:10
我不知怎么找到了一半的解决方案,首先,如果使用textfield,Magento将不能正确排序,您需要使用price作为字段类型来正确排序整数值。否则,它将被计算为字符串值。
为前三种结果添加第二种结果在我的情况下仍然不起作用。
发布于 2014-02-14 13:49:30
对你的评论很抱歉。我刚刚意识到,属性类型在您的情况下并不重要。
问题是您正在使用->load作为您的集合。
一旦加载了集合,就无法修改订单或筛选器。
像这样试试。
$productPriceCollection = $products2->addAttributeToSort('mb_rank', 'DESC')
->setPageSize("3")
->addStoreFilter()
->addAttributeToSort('price', 'ASC')
->load();https://stackoverflow.com/questions/21780741
复制相似问题