2011-06-22 144 views
0

我正在使用Magento的自定义扩展,使用以下代码来显示产品列表。 目前,产品按SKU分类,但我想按类别对这些产品进行分类。如何按产品类别和sku收集产品?

我试着用addCategoryFilter($ category)替换addAttributeToSelect,但它似乎不起作用。

有没有人有一个线索代码添加到这个例子按类别开始排序,并在此类别由SKU?

$this->_productCollection = Mage::getModel('catalog/product')->getCollection() 

     ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes()) 
     ->addFieldToFilter('entity_id', array('in'=>$_arrayOfProductIds)) 
     ->addAttributeToSelect('sku') 
     ->setOrder('sku', 'asc')->load(); 

在此先感谢

+0

我不确定,但我不认为产品知道他们在什么类别,所以你将不得不先分类,然后拉他们的产品集合。我相信它是$ category = Mage :: getModel(“catalog/category”) - > load(5)。然后$ products = $ category-> getProductCollection(); – 2011-06-23 04:30:52

+0

此外,我总是首先访问此页面以查看与收藏相关的问题:http://www.magentocommerce.com/wiki/5_-_modules_and_development/catalog/using_collections_in_magento – 2011-06-23 04:32:45

+0

产品知道它们在哪些类别中,但每个产品都可以属于无限数量的类别,所以我不明白你想要做什么。 – Zyava

回答

0

请使用此代码尝试。

$这 - > _ productCollection =法师:: getModel( '目录/产品') - > getCollection()

- > addFieldToFilter( 'ENTITY_ID',阵列( '在'=> $ _ arrayOfProductIds))

->addAttributeToSelect('*') 

    ->setOrder('sku', 'asc')->load();