我想知道人们对修补/重写Varien lib文件的最佳方式的想法。特别是乳清研究了几个问题 复选框 和一个与 图像 类型输入我发现这两个变量元素都有我认为的错误。

那么,更新以下文件的升级安全方法是什么?

  1. Varien_Data_Form_Element_Image
  2. Varien_Data_Form_Element_Checkboxes
有帮助吗?

解决方案

不幸的是,没有办法覆盖这些类。
你能做的是将它们视为抽象核心课程。
将它们复制到local文件夹,并在那里进行更改。
还有很长而痛苦的选择,可以创建自己的类和更改使用它们使用类的代码。
但这可能会很糟糕。它甚至可能甚至不可能。

其他提示

所以,如果你正在制作自己的表单,或者重写当前表单并且你的类扩展 Mage_Adminhtml_Block_Widget_Form 然后您可以使用该功能 _getAdditionalElementTypes 指定哪些表单类型使用要呈现的类。

使用此函数,您可以复盖使用的标准表单元素,如果这是您需要的,也可以定义您自己的表单元素。

这方面的一个很好的例子可以在类中的customer模块中找到 Mage_Adminhtml_Block_Customer_Edit_Tab_Account.在这里你可以发现image,file和boolean are表单元素的类被设置。

/**
 * Return predefined additional element types
 *
 * @return array
 */
protected function _getAdditionalElementTypes()
{
    return array(
        'file'      => Mage::getConfig()->getBlockClassName('adminhtml/customer_form_element_file'),
        'image'     => Mage::getConfig()->getBlockClassName('adminhtml/customer_form_element_image'),
        'boolean'   => Mage::getConfig()->getBlockClassName('adminhtml/customer_form_element_boolean'),
    );
}

如果您随后查看这些表单元素,您可以看到更改代码以满足您自己需求的示例。

许可以下: CC-BY-SA归因
scroll top