Magento Admin Grid: how to change number of rows

Featured Image

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;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.

4
Top

Enjoyed this post?

Subscribe to our RSS Feed, Follow us on Twitter and spread it to your friends!

Author

Domagoj Potkoc

Magento Senior Developer

Domagoj Potkoc is part of the Casablanca team together with Ivan Weiler, Hrvoje and Vanja. Domagoj is Magento Certified Developer since March 2012.

Other posts from this author

Discussion 4 Comments

Add Comment
  1. that looks like a lot of &s ;)
    thanks for the tip

  2. Shaun

    Sweet. I was getting bugged myself looking at a lists that default to 20 records. Thanks for the code snippets. Worked great.

  3. Kamal

    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.

  4. 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);

    }

Add Your Comment

Please wrap all source codes with [code][/code] tags.
Top