Skip to main content

Customize or Merge the fields in admin grid Magento

Sometimes we need to customize the columns of grid list other than the table fields. Like, merging two fields into one column or displaying content after conditional check.

For this we need to add a renderer. Renderer is the class that can render the values of a column by manipulating the data and outputting the data as we like.

For this,
1. Create a folder Renderer inside "Block/Adminhtml" of our module.
2. Create a file Somefilename.php with following contents

class Organicfeast_Customshipping_Block_Adminhtml_Renderer_Suburbname extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {

    public function render(Varien_Object $row) {
                if ($row->getData('first_name') != NULL || $row->getData('last_name') != NULL) {
            $firstName = $row->getData('first_name');
                    $lastName = $row->getData('last_name');
            if ($lastName != NULL) {
                return $firstName . ' ' . $lastName;
                    } else {
                return $firstName;
            }
            } else {
                return Mage::helper('dailydeal')->__('NO NAME ASSIGNED');
            }
    }
}


3. Finally, call this file at the Grid.php

  protected function _prepareColumns() {
        $this->addColumn("suburb_id", array(
            "header" => Mage::helper("customshipping")->__("ID"),
            "align" => "right",
            "width" => "50px",
            "type" => "number",
            "index" => "suburb_id",
        ));

        $this->addColumn("suburb_name", array(
            "header" => Mage::helper("customshipping")->__("Suburb Name"),
            "index" => "suburb_name",
        ));

           $this->addColumn("monday", array(
            "header" => Mage::helper("customshipping")->__("Monday"),
            "index" => "monday",
            "renderer" => new Organicfeast_Customshipping_Block_Adminhtml_Renderer_Suburbname
        ));
}


Now we can get the customized column in our grid.



Cheers!!!

Comments

Popular posts from this blog

Magento 2.3 Admin panel blank issue

After the Installation of Magento from the composer, we cannot access the admin panel. Also, the deploy command doesn't work. (On Windows 10 OS). Note: Magento 2.3 supports Linux OS. Windows and Mac OS is not supported. This is a Magento bug. Wrong paths to Windows are generated. The fixed fix is Magento 2.3.0 - 2.3.3 #/vendor/magento/framework/View/Element/Template/File/Validator.php:140 the string if (0 === strpos($realPath, $directory)) {     return true; } to replace $realDirectory = $this->fileDriver->getRealPath($directory); if (0 === strpos($realPath, $realDirectory)) {    return true; } Magento 2.2.7 /vendor/magento/framework/View/Element/Template/File/Validator.php:113 code protected function isPathInDirectories($path, $directories) {     if (!is_array($directories)) {         $directories = (array)$directories;     }     foreach ($directories as $directory) {   ...

Magento webservice

Magento provides webservice with the ability to manage your eCommerce stores by providing calls for working with resources such as customers, categories, products, and sales orders. It also allows you to manage shopping carts and inventory. A SOAP v2 API version has been available since Magento 1.3, and a WS-I compliant version has been available since Magento 1.6. The Magento API supports SOAP and XML-RPC, where SOAP is the default protocol. With SOAP api, To connect to Magento SOAP web services, load the WSDL into your SOAP client from either of these URLs: http://hostname/api/soap/?wsdl where hostname  is the domain for your Magento host As of v1.3, you may also use the following URL to access the Magento API v2, which has been added to improve compatibility with Java and .NET: http://magentohost/api/v2_soap?wsdl=1 The following PHP example shows how to make SOAP calls to the Magento API v1: require_once('app/Mage.php'); Mage::app(); try { $client = n...

Magento zip code limit validation

By Default Magento give number of validation classes.you just need to use the class name.Its easy find the html tag where their is mobile number html and add a class attribute to that input type and under the class add the following classes  "validate-length maximum-length-10 minimum-length-10 validate-digits" validate-length maximum-length-10 minimum-length-10 validate-digits Reference: http://inchoo.net/magento/out-of-the-box-form-validation-in-magento/