【发布时间】:2010-01-03 01:29:32
【问题描述】:
有没有一种方法可以将自定义表单元素添加到 Magento Adminhtml 表单而不将自定义元素放在 lib/Varian 文件夹中?
我已经找到了基本上是 Varian_Data_Form_Element_ 工厂的代码
public function addField($elementId, $type, $config, $after=false)
{
if (isset($this->_types[$type])) {
$className = $this->_types[$type];
}
else {
$className = 'Varien_Data_Form_Element_'.ucfirst(strtolower($type));
}
$element = new $className($config);
$element->setId($elementId);
if ($element->getRequired()) {
$element->addClass('required-entry');
}
$this->addElement($element, $after);
return $element;
}
所以,如果我没看错的话,我会确保 EAV 属性的前端返回特定的字段类型(例如 supertextfield),并且系统会在显示该属性的编辑表单时实例化/呈现 Varien_Data_Form_Element_Supertextfield。
这很好,但这意味着我需要在lib/Varian 文件夹层次结构中包含我的自定义表单元素。鉴于 Magento 是如何面向模块的,这似乎是错误的。
我意识到我可以在 lib 中使用自定义自动加载器或符号链接,但我主要感兴趣的是了解是否有
为属性添加自定义表单元素的规范方法
自定义 Magento 自动加载器的规范方法。
【问题讨论】:
标签: php forms magento autoload