Magento:系统/配置在MultiSelect中添加自定义值

时间:2013-09-06 05:25:34

标签: magento-1.7 magento

我创建了一个简单的模块。我创建了system.xml。有一个字段 Multiselect 我想在多选字段中添加自定义值。

是否可以在多选字段中添加自定义值?

 <Data translate="label">
 <label>Select Socail Media</label>
 <comment>Select Social Media To fdisplay ion Front Side</comment>
 <front_end_type>multiselect</front_end_type>
 <source_model>adminhtml/system_config_source_country</source_model>
 <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>
 </Data>    

在Multiselect选项中我想添加我的自定义选项,如:Data1,Data2,Data3等。

我该怎么做?有可能吗?

1 个答案:

答案 0 :(得分:15)

是的,您可以像这样创建以下代码添加到system.xml

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

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

your_namespace / yourmodel /型号/系统/配置/源/ 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'),
        );
    }
}

另外,有关详细信息,请使用this link

希望这对您有所帮助。