Question

Je veux avoir certaines propriétés personnalisées ajouté à un formulaire dans la section admin.Mon code est comme suit.

    $fieldset->addField('customer_ids', 'multiselect', array(
        'name'      => 'customer_ids[]',
        'label'     => Mage::helper('salesrule')->__('Customers'),
        'title'     => Mage::helper('salesrule')->__('Customers'),
        'required'  => true,
        'values'    => $allcustomers,
        'class'     =>'chosen-select',
        'style'     => 'width: 700px',
        'tabindex'  => '10',
        'data-placeholder' => 'Select customer...,'
        )); 

Ce n'est pas de travail pour les deux attributs suivants,

'tabindex'  => '10',
'data-placeholder' => 'Select customer...,'
Était-ce utile?

La solution

Regarder Varien_Data_Form_Element_Multiselect.Voici la liste des permis attributs html:

public function getHtmlAttributes()
{
    return array('title', 'class', 'style', 'onclick', 'onchange', 'disabled', 'size', 'tabindex');
}

Vous devez créer une classe qui va s'étendre Varien_Data_Form_Element_Multiselect et là, il faut réécrire la méthode getHtmlAttributes l'ajout de nouveaux attributs que vous avez besoin.

Alors avant d'ajouter le champ au formulaire écrire ceci:

$fieldset->addType('extended_multiselect','MyCompany_MyModule_Lib_Varien_Data_Form_Element_ExtendedMultiSelect');

Et après

$fieldset->addField('customer_ids', 'extended_multiselect', array( ...
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top