magento文件system.xml 和 config.xml 比较相似, 都位于模块 etc 文件夹中, 且都是用来进行配置, 但其主要用于后台 System -> Configuration 中创建配置信息 文本域 (Field) 我们先从基础开始, 首先简单的在 ‘system -> Configuration -> Customer Configuration -> Create New Account Options’ Group 里创建两个文本域 <?xml version="1.0"?> <config> <sections> <!-- 区域(Section) 标签 --> <customer translate="label" module="test"> <!-- 区域名: 声明你想放在哪个区域里 --> <groups> <!-- 组(Group) 标签 --> <create_account translate="label"> <!-- 组名: 声明你想放在哪个组里 --> <fields> <!-- 文本域(field) 标签 --> <patient translate="label"> <!-- 文本域标识符 --> <label>Sign In Gate Email Template</label> <!-- 该文本域的 Label 标签内容 --> <frontend_type>select</frontend_type> <!-- 该文本域 input 的类型 --> <source_model>adminhtml/system_config_source_email_template</source_model> <!-- 后台邮件模板类 --> <sort_order>3</sort_order> <!-- 设置该 field 在 group 内的排序 --> <show_in_default>1</show_in_default> <!-- 是否在默认的 store 显示 --> <show_in_website>1</show_in_website> <!-- 是否在 website 显示 --> <show_in_store>1</show_in_store> <!-- 是否在 store 显示 --> </patient> </fields> <fields> <!-- 另外一个文本域 --> <slider translate="label"> <label>Show Slider In Sign In Gate</label> <frontend_type>text</frontend_type> <!-- input 的类型为 text --> <sort_order>99</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>1</show_in_store> </slider> </fields> </create_account> </groups> </customer> </sections> </config> 显示的效果:
如果你想获取到这些文本域的值, 你可以在模块里使用方法: Mage::getStoreConfig(‘section_key/group_key/field_key’, Mage::app()->getStore());
当在后台填写保存后, Magento 将这些值都存在 core_config_data 表中, 如果你看下表结构, 就可以很清楚的看到 scope, path 和 value 等字段, path列就是存储文本域的路径, 也就是 Mage::getStoreConfig() 方法中的参数一 <?xml version="1.0"?> <config> <sections> <customer translate="label" module="test"> <groups> <test translate="label"> <!-- 新组(group)的名/标识符(Key)--> <label>Test Group</label> <!-- label 内容 --> <sort_order>10</sort_order> <!-- group 排序 --> <show_in_default>1</show_in_default> <show_in_website>0</show_in_website> <show_in_store>0</show_in_store> <fields> <patient translate="label"> <label>Sign In Gate Email Template</label> <frontend_type>select</frontend_type> <source_model>adminhtml/system_config_source_email_template</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> </patient> </fields> <fields> <slider translate="label"> <label>Show Slider In Sign In Gate</label> <frontend_type>select</frontend_type> <source_model>adminhtml/system_config_source_yesno</source_model> <sort_order>99</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>1</show_in_store> </slider> </fields> </test> </groups> </customer> </sections> </config> 输出如下效果: 区域 (Section) (责任编辑:好模板) |