Domanda

Voglio avere alcune proprietà personalizzate aggiunte a un modulo nella sezione di amministrazione.Il mio codice è il seguente.

    $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...,'
        )); 
.

Non funziona per i seguenti due attributi,

'tabindex'  => '10',
'data-placeholder' => 'Select customer...,'
.

È stato utile?

Soluzione

Guarda Varien_Data_Form_Element_Multiselect. Ecco l'elenco degli attributi HTML consentiti:

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

È necessario creare la classe che estenderà Varien_Data_Form_Element_Multiselect e si dovrebbe riscrivere il metodo getHtmlAttributes Aggiunta di nuovi attributi di cui hai bisogno.

Quindi prima di aggiungere il campo al modulo Scrivi questo:

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

e dopo

$fieldset->addField('customer_ids', 'extended_multiselect', array( ...
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top