按名称collection.php(magento)排序

时间:2015-12-14 05:06:24

标签: magento

我有一个自定义模块,更改了默认的CATALOG / RESOURCE / PRODUCT / COMPARE / ITEM / collection.php,但是下面一行:

new Blah(default(StreamingContext))

更改具有属性位置的位置顺序,但少数(约10个属性)只是文本(不是下拉列表,选择或价格)并且不能允许命令正确定位iquals a产品页面顺序。 (我需要离开页面以便从属性列表的产品页面以相同的顺序比较产品)

我怎么能做到这一点?

1 个答案:

答案 0 :(得分:1)

要在 app/design/frontend/<theme_name>/default/template/catalog/product/list.phtml

中获取产品集后,按位置在代码下面创建排序
$_productCollection = new Varien_Data_Collection();
$sortedCollection = array();
foreach ($_defaultProductCollection as $key => $_product) {
    if(!isset($sortedCollection[$positions[$_product->getId()]])){
        $sortedCollection[$positions[$_product->getId()]] = array();
    }
    $sortedCollection[$positions[$_product->getId()]][] = $_product;
}
ksort($sortedCollection);
foreach ($sortedCollection as $_products) {
    foreach ($_products as $_product) {
        $_productCollection->addItem($_product);
    }
}

希望它对你有用。