I am using a custom module developed by third party, and i have probem with limiting product collections on my home page by :
$collection->setPageSize(10);
But the limit will work fine if switch the pager from
20 products per page to show all
The code is :
$collection = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($category);
$collection->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds());
$collection->getSelect()->order(new Zend_Db_Expr('RAND()'));
$collection = $this->_addProductAttributesAndPrices($collection)->addStoreFilter()
->addAttributeToFilter('is_deal', 1)
->addAttributeToFilter('deal_approved', 1)
->addAttributeToFilter('deal_type',array(
array('attribute'=>'deal_type','neq'=> AdolMedia_DailyDeals_Model_Product_Attribute_Source_Dealtype::FEATURED_DEAL )
))
->addFieldToFilter('deal_cities',array(
array('attribute'=>'deal_cities','finset'=> $current_city),
array('attribute'=>'deal_cities', 'eq'=> 0),
array('attribute'=>'deal_cities', 'eq'=> new Zend_Db_Expr('null'))
),'left')
->addAttributeToFilter('deal_from_date', array('or'=> array(
0 => array('date' => true, 'to' => $dealTime),
1 => array('is' => new Zend_Db_Expr('null')))
), 'left')
->addAttributeToFilter('deal_to_date', array('or'=> array(
0 => array('date' => true, 'from' => $dealTime),
1 => array('is' => new Zend_Db_Expr('null')))
), 'left')
->addAttributeToSort('deal_from_date', 'desc');
$collection->setPageSize(10); // not working
$this->setProductCollection($collection);