Existe-t-il un moyen d'ajouter un élément de formulaire personnalisé à un formulaire Magento Adminhtml sans placer l'élément personnalisé dans le dossier lib/Varian
? (Comme supertextfield
)Ajout d'un élément de formulaire personnalisé à un formulaire Adminhtml
J'ai traqué le code qui est essentiellement un Ainsi, Varian_Data_Form_Element_
usine
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;
}
si je lis correctement, je me assure que le frontend d'un attribut EAV retourne un fieldType spécifique, et le système va instancier/afficher un Varien_Data_Form_Element_Supertextfield
lors de l'affichage du formulaire d'édition de cet attribut.
Cela va bien, mais cela signifie que j'ai besoin d'inclure mon élément de formulaire personnalisé dans la hiérarchie du dossier lib/Varian
. Étant donné que Magento est orienté module, il semble que ce soit mal.
Je me rends compte que je pouvais jank autour d'un chargeur automatique de custo ou des liens symboliques dans le répertoire lib, mais je suis surtout intéressé à apprendre s'il y a
Une façon canonique d'ajouter des éléments de formulaire personnalisés pour les attributs
Une façon canonique de personnaliser l'autochargeur Magento.
ne fonctionne pas pour moi, je suis désolé de le dire. Le Autoload.php de Varien ne regarde dans son propre dossier que lorsqu'il est inclus (ligne 93). Peut-il être possible de définir par programme les propriétés "_collectClasses" ou "_isIncludePathDefined" du chargement automatique pour qu'il apparaisse dans les dossiers que je spécifie? – urig