Есть ли способ добавить пользовательский элемент формы в форму Magento Adminhtml без размещения пользовательского элемента в папке lib/Varian
?
Я проследил код, по существу, Varian_Data_Form_Element_
factory
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 возвращает конкретный тип fieldType (например, supertextfield
), и система будет создавать/отображать Varien_Data_Form_Element_Supertextfield
при отображении этой формы редактирования атрибута.
Это хорошо и хорошо, но это означает, что мне нужно включить мой пользовательский элемент формы в иерархию папок lib/Varian
. Учитывая, насколько модульным является Magento, кажется, что это делает это неправильно.
Я понимаю, что я мог бы разыгрывать автозагрузчик custo или символические ссылки в lib, но мне в первую очередь интересно узнать, есть ли там
-
Канонический способ добавления пользовательских элементов формы для атрибутов
-
Канонический способ настройки автозагрузчика Magento.