Magento:试图覆盖Mage_Adminhtml_Block_Widget_Form

时间:2013-02-28 09:57:25

标签: magento rewrite block adminhtml

我正在尝试在我的扩展程序中覆盖Mage_Adminhtml_Block_Widget_Form,但我似乎无法让它工作。

我的配置看起来像这样

<global>
   <blocks>
      <adminhtml>
         <rewrite>
             <widget_form>Baldwin_TestModule_Block_Adminhtml_Widget_Form</widget_form>
        </rewrite>
      </adminhtml>
   </blocks>
</global>

我的覆盖类(在目录中:Baldwin / TestModule / Block / Adminhtml / Widget / Form.php)看起来像这样

class Baldwin_TestModule_Block_Adminhtml_Widget_Form
extends Mage_Adminhtml_Block_Widget_Form
{
    /**
     * Set Fieldset to Form
     *
     * @param array $attributes attributes that are to be added
     * @param Varien_Data_Form_Element_Fieldset $fieldset
     * @param array $exclude attributes that should be skipped
     */
    protected function _setFieldset($attributes, $fieldset, $exclude=array())
    {
        die("test");
    }
}

有人知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

你到底想要什么?通常Mage_Adminhtml_Block_Widget_Form通过具体小部件获得扩展,并且您无法通过重写更改继承树。如果表单窗口小部件将直接在某处实例化,则重写仅具有效果,例如:

Mage::getBlock('adminhtml/widget_form');

不幸的是,你必须覆盖 code/local/Mage/Adminhtml/Block/Widget/Form.php中的类,或者找到另一个不会改变核心类的需求的解决方案(首选!)