Skip to main content

How to add tab in Customer Information in Magento Admin

Step 1)
Override the file /app/code/core/Mage/Adminhtml/Block/Customer/Edit/Tabs.php,

Inside _beforeToHtml() method, add the following code:

$this->addTab('Custom',array(
    'label' =>Mage::helper('customer')->__('Custom'),
    'class' =>   'ajax',
    'url'   =>   $this->getUrl('*/*/custom',array('_current'=>true)),
));

Step 2) 
Override the file /app/code/core/Mage/Adminhtml/controllers/CustomerController.php,
Add the following code:


public function customAction()
{ $this->_initCustomer();
$this->getResponse()->setBody(
Mage::app()->getLayout()->createBlock('core/template')->setTemplate('custom/customer/tab/custom.phtml')->setCustomerId(Mage::registry('current_customer')->getId())
        ->setUseAjax(true)->toHtml()
);
}


Step 3) 
Create the file /app/code/core/Namespace/ModuleName/Block/Adminhtml/Customer/Edit/Tab/ and create Custom.php,

Add the following source code to the file:

<?php
class Custom_Custom_Block_Adminhtml_Customer_Edit_Tab_Custom extends Mage_Adminhtml_Block_Widget_Form
{
    public function __construct()
    {
        parent::__construct();
        $this->setTemplate('custom/customer/tab/custom.phtml');
    }
}
?>


Step 4)
Now, you need to create a template file.

Go to /app/design/adminhtml/default/default/template/modulename/customer/tab/ and create custom.phtml,

Write your code here.

Comments

Popular posts from this blog

Parsing Domain Name From URL In PHP

To get Domain name from the url, we can use parse_url() php function. This would filter the domain name from the given url. $domain = str_ireplace ( 'www.' , '' , parse_url ( $url , PHP_URL_HOST )); This would return the google.com for both http://google.com and http://www.google.com

How to display Image in grid

Write this code in Grid.php:- $this->addColumn("data", array( "header" => Mage::helper("userdesign")->__("Design"), "index" => "image", 'align'     =>'center', 'renderer'  => 'userdesign/Adminhtml_Userdesign_Renderer_Image' )); Then make a "Renderer" folder in module( location - Grid.php) In Renderer Make a PHP file , Named Image.php and put this code <?php class Userdesign_Userdesign_Block_Adminhtml_Userdesign_Renderer_Image extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract{           public function render(Varien_Object $row)     { $designUrl=Mage::getBaseUrl('web').'design/designs/';         $html = '<img width="75" height="75" ';          $value = $row->getData('designId');       $html.= 'src="' . Mage::getBaseUrl('web')....