我有产品集合
$_products = Mage::getModel('catalog/product')->getCollection();
在管理面板目录->管理类别->类别产品我有每个产品的位置。
如果您想按类别$category_id中的位置对产品进行排序。您可以使用以下
//Load the category model
$category = Mage::getModel('catalog/category')->load($category_id)
->getProductCollection()
->addAttributeToSort('position', 'ASC');
$products_list = $category->getData();
$category_id
您需要添加类别,其中您为产品设置位置,作为集合的过滤器
$category = Mage::getModel('catalog/category')->load($categoryId);
$collection = Mage::getResourceModel('catalog/product_collection');
$collection->addCategoryFilter($category);
$collection->addAttributeToSort('position', 'ASC');
我已经创建了一个独立的扩展,它创建了名为'position'的新产品属性。在这个扩展中,我已经创建了侦听类别保存事件的观察者。因此,当管理员保存类别在我的观察者我得到每个位置,并设置我的属性'位置'为每个产品。最后,我可以根据'position'(product)属性对产品集合进行排序。