系统配置多选默认全部选中


8

我有一个multiselect类型的系统配置字段,该字段将使用填充catalog/product_attribute_collection。这是system.xml定义它的一部分。

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

现在,我希望默认情况下选中multiselect中的所有值。由于系统配置的默认值是在中定义的config.xml,因此我不确定如何选择全部作为默认值。

这是config.xml与问题有关的部分

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

Answers:



3

我举了多重选择的例子。

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

在此路径中的模块中为multiselect选项创建一个文件

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

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

您的答案将告诉您如何定义源模型。我已经做到了。我希望默认选择源模型中的所有值
Jay Ghosh

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

您应该使用选项数组的逗号分隔

例如

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

默认情况下选择所有三个选项。


是的,但是就像我说的那样。我不知道事先用逗号分隔的字符串写的值。它的动态
周杰伦戈什
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.