您可以使用修补程序文件在Sitecore中添加或更改配置设置。Sitecore将修补程序文件与Sitecore.config
文件合并,以创建在运行时使用的配置文件。
本主题描述:
- 补丁文件放置
- 补丁文件语法
- 预览修补结果
补丁文件放置
您必须/App_Config/Include
直接或在子文件夹中将修补程序文件放在Sitecore安装的文件夹中。您必须提供以扩展名结尾的补丁文件名称.config
。
Sitecore按字母顺序合并补丁文件。文件夹中的文件在文件夹中的子文件夹中的文件之前合并。例如,文件/App_Config/Include/mywebsite9.config
在文件之前合并 /App_Config/Include/Myfolder/mywebsite1.config
。
如果Sitecore在多个修补程序文件中找到相同的配置,则要合并的最后一个修补程序文件将覆盖以前版本的配置。
例如,如果以下列表中的所有文件都定义了相同的配置,则Sitecore仅使用列出的最后一个文件中的配置:
/App_Config/Include/z.config
/App_Config/Include/b/b.config
/App_Config/Include/b/c.config
/App_Config/Include/c/a.config
[用过的]
补丁文件语法
以下XML名称空间包含与修补相关的所有属性和元素:
- 补丁 - http://www.sitecore.net/xmlconfig/
- 设置 - http://www.sitecore.net/xmlconfig/set/
必须先声明命名空间,然后才能在补丁文件中使用它们。通常,您在文件的开头声明它们:
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"
xmlns:set="http://www.sitecore.net/xmlconfig/set/">
. . . . .
. . . . .
</configuration>
当Sitecore应用补丁文件中的更改时,它会尝试将补丁文件中的每个元素与现有配置中的元素进行匹配。它使用元素名称和元素的所有属性的组合来匹配元素。如果匹配,Sitecore将更新现有元素。如果没有匹配,Sitecore会插入一个新元素。
注意
如果修补程序文件元素与现有配置中的多个元素匹配,则Sitecore会将更新应用于它找到的第一个匹配元素。因此,强烈建议您指定元素的足够属性以唯一标识它。
默认情况下,Sitecore会在元素所属的配置部分的末尾插入新元素。您可以使用patch:
元素中的属性来指定相对于现有元素的放置位置,或指定它替换,更新或删除同名的现有元素。您可以使用以下属性:
patch:before
- 在指定元素之前插入元素。patch:after
- 在指定元素后插入元素。patch:attribute
- 定义或替换元素的指定属性。您可以使用set
命名空间实现相同的效果。
例如,要在具有名称的站点之前添加站点website
,请使用以下语法:
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<sites>
<site patch:before=”*[@name='website']” name=”mysite” ... />
</sites>
</sitecore>
</configuration>
您可以使用补丁文件的示例 帮助您更改Sitecore配置。
注意
在该/App_Config/Include
文件夹中,有几个文件以扩展名结尾.example
。在这些文件中,您可以看到如何修补配置元素的示例。要在运行时配置中包含示例文件,必须将文件重命名为end in .config
。
您可以在Sitecore开发人员网站上找到有关补丁文件的更详细说明。请注意,此描述主要涉及Sitecore版本6。
预览修补结果
要查看运行时使用的配置文件,请加载URL http:// <hostName> /sitecore/admin/showconfig.aspx。
您还可以使用Sitecore实例管理器中的Config Builder来模拟合并过程。Config Builder将所有补丁文件与Sitecore.config
文件合并,使您可以将生成的文件保存在任何您喜欢的位置。然后,您可以检查是否已按预期修补了配置更改。
您可以在Sitecore实例管理器的“ 主页”选项卡上的“ 捆绑工具 ” 下找到“配置生成器”。您必须先选择Sitecore站点,然后才能选择Config Builder。
注意
生成的配置文件显示修补元素的来源。例如,从Sitecore.Analytics.config
文件中获取的元素包含该patch:source="Sitecore.Analytics.config"
属性。