2013-02-28 236 views
2

我想覆盖Mage_Adminhtml_Block_Widget_Form在我的扩展,但我似乎无法得到它的工作。Magento:试图覆盖Mage_Adminhtml_Block_Widget_Form

我的配置是这样的

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

而且我覆盖类(在目录:鲍德温/ TestModule /座/ Adminhtml /空间/ 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"); 
    } 
} 

有谁有什么想法我做错了什么?

+0

另一个模块方式很好地覆盖它之前,它到达你的。 Magento模块的一个大问题。 – 2013-02-28 10:08:46

回答

0

你期望什么?通常Mage_Adminhtml_Block_Widget_Form得到扩展由具体的小部件,你不能改变继承树与重写。您的重写只有当表单控件将直接某处被实例化,像一个效果:

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

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