System Config Multiselect default semua dipilih

8

Saya memiliki bidang konfigurasi sistem tipe multiselect yang akan diisi menggunakan catalog/product_attribute_collection. Ini adalah bagian dari system.xmlyang mendefinisikannya.

  <attributes>
       <label>Choose Attributes to JSONize</label>
       <frontend_type>multiselect</frontend_type>
       <sort_order>3</sort_order>
       <show_in_default>1</show_in_default>
       <show_in_website>1</show_in_website>
       <show_in_store>1</show_in_store>

<source_model>package_module/system_config_attributes</source_model>
  </attributes>

Sekarang saya ingin semua nilai dalam multiselect dipilih secara default. Karena nilai default untuk konfigurasi sistem didefinisikan dalam config.xml, saya tidak yakin bagaimana memilih semua sebagai default.

Ini adalah bagian config.xmlyang relevan dengan pertanyaan

<default>
    <mytab>
        <mysection>
            <attributes><!-- ***WHAT SHOULD I WRITE HERE*** --></attributes>
        </mysection>
    </mytab>
</default>
Jay Ghosh
sumber

Jawaban:

3

Saya berikan contoh multiselect.

<fields>
    <view_style translate="label">
        <label>Display Settings</label>
        <frontend_type>multiselect</frontend_type>
        <source_model>yourmodule/system_config_source_view</source_model>
        <sort_order>40</sort_order>
        <show_in_default>1</show_in_default>
    </view_style>
</fields>

buat satu file untuk opsi multi-pilih dalam modul Anda di jalur ini

your_namespace / yourmodel / Model / System / Config / Source / View.php

Tambahkan kode di bawah ini di View.php Anda

class YourNamespace_YourModule_Model_System_Config_Source_View 
{
    /**
     * Options getter
     *
     * @return array
     */
    public function toOptionArray()
    {
        return array(
            array('value' => 0, 'label' => Mage::helper('adminhtml')->__('Data1')),
            array('value' => 1, 'label' => Mage::helper('adminhtml')->__('Data2')),
            array('value' => 2, 'label' => Mage::helper('adminhtml')->__('Data3')),
        );
    }

    /**
     * Get options in "key-value" format
     *
     * @return array
     */
    public function toArray()
    {
        return array(
            0 => Mage::helper('adminhtml')->__('Data1'),
            1 => Mage::helper('adminhtml')->__('Data2'),
            3 => Mage::helper('adminhtml')->__('Data3'),
        );
    }
}
gelanivishal
sumber
Jawaban Anda memberi tahu cara mendefinisikan model sumber. Saya sudah melakukannya. Saya ingin semua nilai dari model sumber dipilih secara default
Jay Ghosh
3
<default>
     <mytab>
        <mysection>
            <attributes><!-- ***WHAT SHOULD I WRITE HERE*** --></attributes>
        </mysection>
    </mytab>
</default>

Anda harus menggunakan kunci yang dipisahkan koma dari array opsi Anda.

misalnya

<default>
     <mytab>
        <mysection>
            <attributes>0,1,3</attributes>
        </mysection>
    </mytab>
</default>

Memilih ketiga opsi secara default.

Geisel
sumber
Ya tapi seperti yang saya katakan. Saya tidak tahu nilai sebelumnya untuk menulis dalam string yang dipisahkan koma. Dinamis
Jay Ghosh