如何为_addButton定义目标?

时间:2011-11-25 22:30:53

标签: magento

如何为_addButton定义目标?以下是我正在使用的代码。我阅读了位于此处的Magento文档,但他们没有此信息:http://docs.magentocommerce.com/Mage_Adminhtml/Mage_Adminhtml_Block_Widget_Container.html#method_addButton

 $this->_addButton('rebuild_files', array(
    'label'     => Mage::helper('core')->__('Rebuild Special Cache'),
    'onclick'   => 'setLocation(\'http://mysite.com/page/\')',
    'class'     => 'rebuild',
)); 

1 个答案:

答案 0 :(得分:5)

设置目标是不可能的,因为容器的按钮不在表单内部,而且表单的目标会产生影响。此外,该按钮不会触发任何形式,但使用javascript来指导浏览器(因此setLocation位)。 Magento admin有一个方便的功能,你想要的是popWin,它是Window.open的简写,所以第二个参数是目标窗口名。

$this->addButton('rebuild_files', array(
    'label'     => Mage::helper('core')->__('Rebuild Special Cache'),
    'onclick'   => 'popWin("http://mysite.com/page/", "_blank")',
    'class'     => 'rebuild',
));

PS。 _addButton是受保护的方法。最好使用公共addButton,以防其他开发人员尝试改变它的行为。