如何限制Magento内的结果数量?

Éri*_*icP 1 php pagination magento

我的目录/产品控制器中最近有一个产品动作.

我检索按实体ID排序的所有产品.工作得很好.

问题是我只想在4页中显示20个产品.

我试图扩展Mage_Catalog_Block_Product_List和覆盖_getProductCollection(),我做了这样的事情:

$this->_productCollection = Mage::getModel('catalog/product')->getCollection()
                ->addAttributeToSort('entity_id', 'desc')
                ->addStoreFilter();
Run Code Online (Sandbox Code Playgroud)

而重要的部分:

$this->_productCollection->getSelect()->limit($this->getProductsLimit());
Run Code Online (Sandbox Code Playgroud)

如果我'转储'返回的对象,我会这样:

["limitcount"] => int(5)["limitoffset"] => int(0)

所以它看起来被paginator覆盖了.

你知道一种方法来正确地限制结果的数量吗?

对于优化和演示,我实际上不想检索所有产品集合.

谢谢

but*_*rot 5

这应该工作......

$this->_productCollection = Mage::getModel('catalog/product')->getCollection()
                ->addAttributeToSort('entity_id', 'desc')
                ->addStoreFilter()
                ->setPage($pageNum, $pageSize);

// only retrieve 10 products
$this->_productCollection = Mage::getModel('catalog/product')->getCollection()
                ->addAttributeToSort('entity_id', 'desc')
                ->addStoreFilter()
                ->setPage(0, 10);
Run Code Online (Sandbox Code Playgroud)