2013-01-09 38 views
1

我相信這可以用一些聰明的mysql表達式或zend連接來解決,但是我只是沒有足夠的知識來解決,希望有人在SO社區能夠。Magento集合分組和限制值範圍

說我有一個產品在Magento的集合,他們按類別位置排序。

我只想檢索集合中的2種產品,即具有最高類別位置的產品。

下應說明:

Category: 
    Product A (position 3); 
    Product B (position 1); 
    Product C (position 0); 
    Product D (position 2); 

在此集合,我只希望,因爲這些檢索產品C和B是兩個最高職位。

另一個例證:

Category: 
    Product A (position 1); 
    Product B (position 3); 
    Product C (position 0); 
    Product D (position 2); 

在此集合,我只想檢索產品C和A

這怎麼在一個單一的集合負載來完成。例如,我不希望加載集合,然後遍歷並手動排序等

回答

0
$_category = Mage::getModel('catalog/category')->load($categoryId); 
$coll = $_category->getProductCollection()->addAttributeToSort('position','ASC'); 
$coll->getSelect()->limit(2); 
$coll->load(); 

之後,您可以在您的收藏迭代:

foreach ($coll as $product) { 
    // Do sth. with $product 
}