Есть ли способ добавить пользовательский элемент формы в форму Magento Adminhtml без размещения пользовательского элемента в папке lib/Varian
?Добавление пользовательского элемента формы в форму Adminhtml
Я разыскал код, который по существу 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 возвращает определенный FieldType, (например, supertextfield
) и при создании формы редактирования этого атрибута система будет создавать/визуализировать Varien_Data_Form_Element_Supertextfield
.
Это хорошо и хорошо, но это означает, что мне нужно включить свой пользовательский элемент формы в иерархию папок lib/Varian
. Учитывая, насколько модульным является Magento, кажется, что это делает это неправильно.
Я понимаю, что я мог Jank вокруг с Custo автозагрузчиком или симлинками в Lib, но я в первую очередь заинтересован в обучении, если есть
Канонический способ добавления пользовательских элементов формы для атрибутов
Канонический способ настройки автозагрузчика Magento.
не работает для меня, я к сожалению. Autoload.php Varien смотрит только в свою собственную папку при включении (строка 93). Можно ли программно настроить свойства «_collectClasses» или «_InIncludePathDefined» для автозагрузки, чтобы он выглядел в папках, которые я указываю? – urig