Magento的.按位置对产品集合进行排序

use*_*709 5 php magento magento-1.7 magento-1.8 magento-1.9

我有产品系列.

$_products = Mage::getModel('catalog/product')->getCollection();
Run Code Online (Sandbox Code Playgroud)

在目录 - >管理类别 - >类别产品的管理面板中,我有每个产品的位置. 我如何按位置对$ _products进行排序?

Aru*_*ish 5

如果您想按类别 $category_id 中的位置对产品进行排序。你可以使用以下

//Load the category model

 $category = Mage::getModel('catalog/category')->load($category_id)
             ->getProductCollection()
             ->addAttributeToSort('position', 'ASC');

$products_list = $category->getData();
Run Code Online (Sandbox Code Playgroud)

您将获得按该类别 $category_id 中的位置排序的所有产品


use*_*709 0

我创建了单独的扩展,它创建了名称为“position”的新产品属性。在此扩展中,我创建了监听类别保存事件的观察者。因此,当管理员在我的观察者中保存类别时,我会获取每个位置并为每个产品设置属性“位置”。最后我可以按“位置”(产品)属性对产品集合进行排序。