Configuración del sistema Multiselección predeterminada todo seleccionado


8

Tengo un campo de configuración del sistema de tipo multiselección que se completará con catalog/product_attribute_collection. Esta es una parte de lo system.xmlque lo define.

  <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>

Ahora quiero que todos los valores en la selección múltiple se seleccionen de forma predeterminada. Dado que los valores predeterminados para la configuración del sistema se definen en config.xml, no estoy seguro de cómo elegir todo como predeterminado.

Esta es la sección de la config.xmlcual es relevante para la pregunta

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

Respuestas:



3

Doy ejemplo de selección múltiple.

<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>

cree un archivo para la opción de selección múltiple en su módulo en esta ruta

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

Agregue el siguiente código en su View.php

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

Su respuesta le dice cómo definir un modelo fuente. Ya he hecho eso. Quiero que todos los valores del modelo fuente se seleccionen de forma predeterminada
Jay Ghosh

3
<default>
     <mytab>
        <mysection>
            <attributes><!-- ***WHAT SHOULD I WRITE HERE*** --></attributes>
        </mysection>
    </mytab>
</default>

Debe usar las teclas separadas por comas de su matriz de opciones.

p.ej

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

Selecciona las tres opciones por defecto.


Sí pero como dije. No conozco los valores de antemano para escribir en una cadena separada por comas. Es dinámico
Jay Ghosh
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.