magento xml配置详解
<?XML版本=“1.0”? <config> <节> 实施例translate="label"> <label>的一个例子</标签> 一个<tab>一般</标签> 的<frontend_type>文本</ frontend_type> <sort_order> 1000 </排序顺序> <show_in_default> 1 </ show_in_default> <show_in_website> 1 </ show_in_website> <show_in_store> 1 </ show_in_store> </例> </章节> </配置>
使用某些标记的名字都是整个system.xml
,可以用在这些部分中,组和字段定义:
-
EXAMPLE
给出了一个独特的名字,所以它不会覆盖任何其他部分。 在现实中,全部小写的名字是首选。 -
label
是可见的段名。 -
tab
是章节列表中的任何现有标题的名称。 -
frontend_type
这里始终是text
但习惯于使用很多的。 -
sort_order
选项卡中,把这项新条文。 如果省略了新的部分只是附加代替。 -
show_in_default
,show_in_website
&show_in_store
显示或隐藏(1或0)本节“当前配置范围”下拉页面左上角选择不同的范围。 省略其中一个是相同的,其设置为0。 -
comment
你可以添加你自己的评论到一个字段或组。
集团system.xml
中使用特定的标签名称:
-
expanded
群组是否会扩大时,默认情况下,查看特定的标签部分。
如果您尝试查看这个新的部分,现在它会给一个“拒绝访问”的错误。 这是因为它是一个新的页面,页面管理需要的权限。 接下来,创建该文件Company/Module/etc/adminhtml.xml
。
<?XML版本=“1.0”? <config> <acl> <resources> <ALL> <TITLE>允许所有</ TITLE> </> 使用<admin> <子女> <SYSTEM> <子女> <config> <子女> (实施例translate="title">) <TITLE>为例科</ TITLE> <sort_order> 100 </ sort_order> </例子> </儿童> </配置> </儿童> </> </儿童> </管理> </资源> </ ACL> </配置>
注意: admin
, system
config
已经定义了核心模块,所以没有必要定义一个标题为这些。
添加到现有节 |
如果你想在现有的部分模块的配置出现,然后使用它的名字,并没有重新定义它的label
,的sort_order
或任何其他标记。 现有部分已授予它的权限。
<?XML版本=“1.0”? <config> <节> <General>下 <! - 你补充在这里 - > </一般> </章节> </配置>
创建一个新组 |
组是在一个区段内页的扩展的fieldsets的,他们总是一节的孩子。 编辑你的Company/Module/etc/system.xml
文件:
<?XML版本=“1.0”? <config> <节> 实施例translate="label"> <label>的一个例子</标签> 一个<tab> </标签> 的<frontend_type>文本</ frontend_type> <sort_order> 1000 </排序顺序> <show_in_default> 1 </ show_in_default> <show_in_website> 1 </ show_in_website> <show_in_store> 1 </ show_in_store> <groups> <! - 新组去这里 - > <样品translate="label">的 <label>的A样品集团</标签> 的<frontend_type>文本</ frontend_type> <sort_order> 100 </ sort_order> <show_in_default> 1 </ show_in_default> <show_in_website> 1 </ show_in_website> <show_in_store> 1 </ show_in_store> </样品> </> </例> </章节> </配置>
创建一个新的领域 |
字段是儿童组同样的方式,基团是部分的儿童。
<?XML版本=“1.0”? <config> <节> 实施例translate=""> <label>的一个例子</标签> 一个<tab> </标签> 的<frontend_type>文本</ frontend_type> <sort_order> 1000 </排序顺序> <show_in_default> 1 </ show_in_default> <show_in_website> 1 </ show_in_website> <show_in_store> 1 </ show_in_store> <groups> <样品translate="label">的 <label>的A样品集团</标签> 的<frontend_type>文本</ frontend_type> <sort_order> 100 </ sort_order> <show_in_default> 1 </ show_in_default> <show_in_website> 1 </ show_in_website> <show_in_store> 1 </ show_in_store> <FIELDS> <! - 新字段去这里 - > <ENABLED translate="label comment"> <label>的启用</标签> <COMMENT> <![CDATA [该文本出现一个小箭头下方的领域。 <span class="notice">它可以包含HTML格式的!</ SPAN>]]> </评论> <frontend_type>选择</ frontend_type> <source_model> adminhtml / system_config_source_yesno </ source_model> <sort_order> 10 </ sort_order> <show_in_default> 1 </ show_in_default> <show_in_website> 1 </ show_in_website> <show_in_store> 1 </ show_in_store> </启用> </领域> </样品> </> </例> </章节> </配置>
comment
提供额外的说明或信息是非常有用的。 包裹它的文本在CDATA标签,如果你想使用HTML,任何HTML是允许的,但最常见的用途是创建亮点跨度“通知”或“警告”类。
的frontend_type
可以是任何类别/lib/Varien/Data/Form/Element/
目录。 这里只是一些:
-
钮
-
复选框
-
复选框
-
日
-
文件
-
隐
-
镜像文件
-
图像
-
标签
-
链接
-
多行
-
多选
-
注意
-
暗纹
-
密码
-
无线电
-
收音机
-
复位
-
选择
-
提交
-
TEXTAREA
-
文本
-
时间
相反的frontend_type
你也可以指定块名称中的典型module/path_to_file
格式。 此块将有_getElementHtml()
方法调用,使用此字段的控制返回的HTML。 即使它被称为frontend_model
它确实是一个块。
对于所有列表类型的字段提供可能的选项的Mage/Adminhtml/Model/System/Config/Source
目录中包含了很多有用的来源已经定义,如“是/否”或“启用/禁用”或您指定一个模型类。国家,货币或语言的列表。
您还可以创建自己的源模型和典型module/path_to_file
格式中指定它。 返回一个嵌套数组像这样:
<?PHP 类Company_Module_Model_Source { 公共职能toOptionArray() { 返回阵列( 阵列('价值'=> 0,'标签'=>法师::帮手() - > __('第一项')), 阵列('值'=> 1,'标签'=>法师::帮手() - > __(“第二项”)) 阵列('价值'=> 2,“标签”=>法师::帮手() - > __(“第三项”)), / / ... ); } }
这样一个字段保存的值将包含一个字符串,如'1,2,3'的选定值。
字段的配置数据通常存储在core/config_data
模型,但你也可以定义你自己的。 它的_afterLoad()
方法被调用前场显示,被称为的_beforeSave()
_afterSave()
方法,当用户点击“保存配置”按钮。 使用这些事件的数据,执行额外的检查可能会抛出一个异常在_beforeSave()
或更新本地文件在_afterSave()
validate
标签的内容作为一个阶级的最终输入元素加入。 下面是Magento的表单验证的标准测试。
-
验证管理员密码
-
验证阿贾克斯
-
验证-α
-
验证alphanum的
-
验证CC-CVN
-
验证CC-EXP
-
验证毫升数
-
验证毫升型
-
验证CC型选择
-
验证清洁网址
-
验证码
-
验证cpassword的
-
验证CSS长度
-
验证货币美元
-
验证数据
-
验证日期
-
验证日期太子港
-
验证数字
-
验证电子邮件
-
验证传真
-
验证大于零
-
验证标识
-
验证长度
-
验证新密码
-
验证未负号
-
验证号码
-
验证要求
-
验证要求按姓名
-
验证密码
-
验证%
-
验证手机
-
验证选择
-
验证SSN
-
验证状态
-
验证街头
-
验证网址
-
验证XML标识符
-
验证零或更大
-
验证拉链
-
验证邮编国际
这是非常简单的Company/Module/etc/config.xml
:
<?XML版本=“1.0”? <config> <DEFAULT> <例> <SAMPLE> 设为Enabled 1 </启用> </样品> </例> </默认> </配置>
这里ENABLED
领域一直采用adminhtml/system_config_source_yesno
源模式定义为“否”,'0'和'1'为'是'。 设置默认为'1'意味着“启用”的领域将是'是',直到用户改变它。
最快的方式访问保存的字段值是这样的:
法师:: getStoreConfig(例如/采样/启用');
section/group/field
格式的路径总是在考虑getStoreConfig()
默认值,网站或商店范围。