Magento Admin Grid: how to change number of rows

We had a request from our client, that we change default number of items in Magento admin grid. Now, this is very simple, when we know how to change it. Below you can see an example which uses magento observer model and event hocking “core_block_abstract_prepare_layout_before”.
First of all, make backup copies of your files.
Step 1.
This is example of event hocking, put it in config.xml
<adminhtml>
<events>
<core_block_abstract_prepare_layout_before>
<observers>
<reward>
<class>grid/observer</class>
<method>applyLimitToGrid</method>
</reward>
</observers>
</core_block_abstract_prepare_layout_before>
</events>
</adminhtml>
Step 2.
Create model class observer.php
class Inchoo_Grid_Model_Observer
{
public function applyLimitToGrid(Varien_Event_Observer $observer)
{
$block = $observer->getEvent()->getBlock();
if(($block instanceof Mage_Adminhtml_Block_Widget_Grid) &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; !($block instanceof Mage_Adminhtml_Block_Dashboard_Grid))
$block->setDefaultLimit(200);
}
}
It would be good that you make your own module and all put in it. I hope that you know how to make magento module.
Published in:
Leave a comment
6 comments
Hi,
I am facing problem in admin shopping cart price rule grid. when i click “manage coupon codes” tap just need to change the grid limit like 20 to 30.
Please do the needful
Thanks,
Sankar V
If your extension isn’t running you can use this this extension which I found. It sets default limit to 200 and works out of the box.
http://www.monkey-business.biz/2681/magento-backend-admin-grid-standard-200-eintrage/
It is enough only set default limit in _counstruct():
class … extends Mage_Adminhtml_Block_Widget_Grid
{
public function __construct()
{
parent::__construct();
$this->setId(‘related_product_grid’);
$this->setDefaultSort(‘entity_id’);
$this->setUseAjax(true);
$this->setDefaultSort(‘sku’);
$this->setDefaultDir(‘asc’);
$this->setSaveParametersInSession(true);
$this->setDefaultLimit(200);
}
Can you please provide more info about this?
How can i set it using new module.I am already aware with how to create module in local folder.I cant set default limit as 200 by creating module.
Sweet. I was getting bugged myself looking at a lists that default to 20 records. Thanks for the code snippets. Worked great.
that looks like a lot of &s 😉
thanks for the tip