2014-02-14 69 views
0

我遇到了magento排序顺序问题。magento社区1.7.0.2产品收集排序不起作用

$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(); 

没有区别。

我在这里做错了什么?

最好

+0

你的属性是什么类型(text,select,int)? – Marius

+0

价格字段类型是价格。 – circass

+0

我在说'mb_rank' – Marius

回答

0

我莫名其妙地发现一半的解决方案中,所有如果你使用文本框首先,Magento的将不能正确排序,您需要使用价格作为字段类型到您的整数值正确地排序。否则,它将被计为一个字符串值。

为前三个结果添加第二种排序对我而言仍然不起作用。

0

对此评论抱歉。我刚刚意识到,属性类型对您的情况并不重要。
问题是您正在使用->load作为您的收藏。
加载收藏集后,您无法修改其上的订单或过滤器。
像这样尝试。

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

感谢您的回答,我会在5分钟内尝试并让您知道结果。 – circass

+0

不幸的是,这次只有价格排序,mb_rank排序没有任何影响。 – circass

+0

确保你重建了索引。 – Marius