西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

配置Magento文件System.xml开发详解

时间:2013-12-07 23:43来源:未知 作者:好模板 点击:
magento文件system.xml和 config.xml 比较相似, 都位于模块 etc 文件夹中, 且都是用来进行配置, 但其主要用于后台 System - Configuration 中创建配置信息 为了能更好的理解 system.xml 的功能和显示位置,

magento文件system.xml 和 config.xml 比较相似, 都位于模块 etc 文件夹中, 且都是用来进行配置, 但其主要用于后台 System -> Configuration 中创建配置信息
为了能更好的理解 system.xml 的功能和显示位置, 请认真看一下如下结构图, 这个页面被分成了几块: 标签(Tab), 区域(Section), 组(Group), 域(Field)
system-xml-01

文本域 (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>

显示的效果:

system-xml-02

如果你想获取到这些文本域的值, 你可以在模块里使用方法: Mage::getStoreConfig(‘section_key/group_key/field_key’, Mage::app()->getStore());
以如上为例:

Mage::getStoreConfig(‘customer/create_account/slider’, Mage::app()->getStore());

当在后台填写保存后, Magento 将这些值都存在 core_config_data 表中, 如果你看下表结构, 就可以很清楚的看到 scope, path 和 value 等字段, path列就是存储文本域的路径, 也就是 Mage::getStoreConfig() 方法中的参数一
组 (Group)
这里,我们再来创建一个新的 Group, 代码如下:

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

输出如下效果:system-xml-03

区域 (Section)

(责任编辑:好模板)

顶一下
(4)
80%
踩一下
(1)
20%
------分隔线----------------------------
栏目列表
热点内容