Question

I am working Magento community edition 1.7 version.

I have a grid in admin panel. Now when I click on this URL it open a form with two tabs in left sidebar. When I click on second tab it show a grid in its right side.

Then I click on a row of this grid it opens a form on another page. In this form there is back button.

How can I change its URL to previous page?

Was it helpful?

Solution

Add your custom back button and remove default one in your Form Container class constructor.

$data = array(
        'label' =>  'Back',
        'onclick'   => 'setLocation(\'' . $this->getUrl('*/*/*') . '\')',
        'class'     =>  'back'
   );
$this->addButton ('my_back', $data, 0, 100,  'header'); 
...
parent::__construct();
...
$this->_removeButton('back');

OTHER TIPS

Just need to override getBackUrl function:

class [Namespace]_[Module]_Block_Adminhtml_[CustomBlock] extends Mage_Adminhtml_Block_Widget_Form_Container
{

/** code **/

public function getBackUrl()
    {
        parent::getBackUrl();
        return $this->getUrl('[New URL]');
    }

/** code **/
}

Note: Tested in Magento ver. 1.9.1.0

simply override the default back button:

parent::__construct();

$data = array(
        'label' =>  'Back',
        'onclick'   => 'setLocation(\'' . $this->getUrl('*/*/*') . '\')',
        'class'     =>  'back'
   );
$this->addButton ('back', $data, 0, 100,  'header'); 

Notice the placement of parrent::__construct();

Here is simplest way to change url of back button.

protected function _construct()
{
    $this->_objectId = 'row_id';
    $this->_blockGroup = 'Namespace_Modulename';
    $this->_controller = 'adminhtml_grid';
    parent::_construct();
    if ($this->_isAllowedAction('Namespace_Modulename::add_row')) {
        $this->buttonList->update('save', 'label', __('Save'));
    } else {
        $this->buttonList->remove('save');
    }
    /**
     * Below line to change your back url of grid
     */
    $this->buttonList->update('back', 'onclick', 'setLocation(\'' . $this->getUrl('*/*/index') . '\')');
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top