6

i have created one simple Module. i have created system.xml. there is one field Multiselect i want to add custom Value in multiselect field.

is it possible to add custom Value in multiselect field ?

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

in Multiselect Options i want to add my Custom Option like: Data1, Data2 , Data3 etc..

how can i do that? is it possible?

4

1 回答 1

16

是的,您可以像这样创建将以下代码添加到 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/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'),
        );
    }
}

还有更多详细信息,请使用此链接

希望这对你有帮助。

于 2013-09-06T05:53:48.247 回答