如何在 Magento 中对加载的产品集合进行排序?

and*_*786 3 sorting magento

我想对已加载的产品集合进行排序

$_productCollection = $this->getLoadedProductCollection();
Run Code Online (Sandbox Code Playgroud)

admin Magento 中的默认排序是 Style 属性

我想先按样式排序,然后按颜色排序,然后按名称排序。

我试过了

$_productCollection->setOrder(array('style', 'color','name'), asc);
Run Code Online (Sandbox Code Playgroud)

并且

$_productCollection->addAttributeToSort('color', Varien_Data_Collection::SORT_ORDER_ASC);
$_productCollection->addAttributeToSort('name', Varien_Data_Collection::SORT_ORDER_ASC);
Run Code Online (Sandbox Code Playgroud)

但不工作。

默认排序运行良好。有人可以帮忙吗?

Cri*_*tti 5

你可以这样做:

$_productCollection = $this->getLoadedProductCollection();

$_productCollection->clear();
$_productCollection->addAttributeToSort('color', Varien_Data_Collection::SORT_ORDER_ASC);

foreach ($_productCollection as $product) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

通过这种方式强制重新加载集合,然后应用您的自定义排序。