我需要在productCollection
之前按Category
对产品列表进行排序。
我需要这种设施,因为在我的网站中,我必须在单独的页面(标签)中显示新产品和特殊产品。
我甚至可以将addAttributetoSort()
用于sku
,news_to_date
,news_from_date
,name
,price
等。但无法使用{{ 1}}。它没有效果。
我知道我可以在管理属性的管理面板中进行设置。在管理属性 category_id
中,price
可用于排序。即使我可以从管理属性创建name
,sku
等属性。但是,当我创建属性代码为news_to_date
或category
时,会出现类似
category_id
表示我无法使用System reserved category/category_id
或category
作为管理属性的属性(因为它们由系统保留)。
有人可以建议怎么做吗?
答案 0 :(得分:1)
我确信这将按类别排序:
$collection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSort('category_ids', 'ASC')
->addAttributeToSelect(array('name', 'sku', 'status', 'visibility', 'is_saleable'))
;
答案 1 :(得分:-1)
这对我有用:
$category ='1503'; // Is in my case Categoryid of New Products Category
$_products = Mage::getResourceModel('catalog/product_collection')
->joinField('category_id','catalog/category_product','category_id','product_id=entity_id',null,'left')
->addAttributeToFilter('category_id', array('in' => $category))
->addAttributeToSelect('*');
$_products->load();
此致