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