如何在magento的管理员中更改网格形式的后退按钮的URL?

时间:2013-12-20 07:53:57

标签: magento magento-1.7 adminhtml

我正在使用Magento社区版1.7版。

我在管理面板中有一个网格。 现在,当我点击此URL时,它会在左侧边栏中打开一个带有两个标签的表单。 当我点击第二个标签时,它会在右侧显示一个网格。

然后我点击此网格的一行,在另一页上打开一个表单。 在这种形式中有后退按钮。

如何将其网址更改为上一页?

4 个答案:

答案 0 :(得分:8)

添加自定义后退按钮并删除Form Container类构造函数中的默认按钮。

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

答案 1 :(得分:5)

只需要覆盖getBackUrl功能:

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 **/
}

注意:在Magento ver中测试过。 1.9.1.0

答案 2 :(得分:1)

只需覆盖默认的后退按钮:

parent::__construct();

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

注意parrent::__construct();

的展示位置

答案 3 :(得分:0)

这是更改后退按钮网址的最简单方法。

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') . '\')');
}