2011-06-22 146 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();