2

我试图在我的扩展程序中覆盖 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");
    }
}

有人知道我做错了什么吗?

4

1 回答 1

0

你到底期待什么?通常由具体的小Mage_Adminhtml_Block_Widget_Form部件扩展,您不能通过重写来更改继承树。仅当表单小部件直接在某处实例化时,您的重写才有效,例如:

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

不幸的是,您将不得不覆盖其中的类code/local/Mage/Adminhtml/Block/Widget/Form.php或为您的要求找到另一个不改变核心类的解决方案(首选!)

于 2013-02-28T10:15:04.993 回答