magento社区1.7.0.2产品集合排序不起作用

时间:2014-02-14 13:31:10

标签: php magento sorting

我遇到magento排序顺序问题。

    $productPriceCollection = $products2->addAttributeToSort('mb_rank', 'DESC')->setPageSize("3")->addStoreFilter()->load();
    $priceOrderCollection = $productPriceCollection->setOrder('price', 'ASC')->load();

我在这里要做的是获得具有最高mb_rank的前3个产品,然后通过价格上升仅对这三个产品进行排序,并将该列表加载为我用于剩余流程的最终列表。

但我总是得到价格下降的订单。

我已经尝试了

    $priceOrderCollection = $productPriceCollection->addAttributeToSort('price', 'ASC')->load();

没有区别。

我在这里做错了什么?

最佳

2 个答案:

答案 0 :(得分:0)

对这些评论感到抱歉。我刚刚意识到属性类型在你的情况下并不重要 问题是您使用的是->load收藏品 加载收藏后,您无法修改订单或过滤器 试试吧。

$productPriceCollection = $products2->addAttributeToSort('mb_rank', 'DESC')
    ->setPageSize("3")
    ->addStoreFilter()
    ->addAttributeToSort('price', 'ASC')
    ->load();

答案 1 :(得分:0)

我以某种方式找到了解决方案的一半,首先如果使用文本字段,Magento将无法正确排序,您需要使用price作为字段类型来正确排序整数值。否则,它将被计为字符串值。

在我的情况下,为前三个结果添加第二种排序仍然不起作用。