sitecore系统教程之使用修补程序文件自定义Sitecore配置
您可以使用修补程序文件在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"属性。
sitecore系统教程之使用修补程序文件自定义Sitecore配置的更多相关文章
- sitecore系统教程之限制对客户端的访问
如果您为不同目的配置服务器,根据角色,您可能需要禁用Sitecore客户端.例如,如果配置内容交付服务器或处理服务器,则无需访问客户端应用程序,因此在这种情况下,建议禁用客户端. 为防止未经授权访问S ...
- sitecore系统教程之架构概述
Sitecore体验数据库(xDB)从实时大数据存储库中的所有通道源收集所有客户交互.它连接交互数据,为每个客户创建全面,统一的视图,并使营销人员可以使用数据来管理客户的实时体验. xDB架构非常灵活 ...
- sitecore系统教程之媒体库
您可以管理媒体库中的所有媒体项目,例如要嵌入网页的图像或供访问者下载的图像.媒体库包含所有媒体项目,例如图像,文档,视频和音频文件. 在媒体库中,您可以: 将所有媒体文件保存在一个位置,并将其组织在与 ...
- Spring Boot2 系列教程(十八)Spring Boot 中自定义 SpringMVC 配置
用过 Spring Boot 的小伙伴都知道,我们只需要在项目中引入 spring-boot-starter-web 依赖,SpringMVC 的一整套东西就会自动给我们配置好,但是,真实的项目环境比 ...
- sitecore系统教程之禁用xDB和Xdb跟踪
Sitecore体验管理包含未启用体验数据库(xDB)且无需购买xDB许可证情况下使用Sitecore内容管理系统. 除了在未启用xDB的情况下运行Sitecore Experience Platfo ...
- sitecore系统教程之内容编辑器
内容编辑器 内容编辑器是一种编辑工具,可用于管理和编辑网站上的所有内容.它专为熟悉Sitecore及其包含的功能的经验丰富的内容作者而设计. 内容编辑器的外观和功能取决于用户的角色,本地安全设置以 ...
- Sitecore系统教程即时查阅编辑内容
实时模式中的Sitecore 作为开发人员,我们经常需要在本地环境中使用代码和内容.在本地,能够立即看到任何内容更改,以节省时间和提高效率是有意义的.这是在实时模式下运行Sitecore.默认情况下, ...
- sitecore系统教程之部署架构方式分析
当您第一次部署Sitecore体验平台时,您可以选择三种主要体系结构选项: 内部部署服务器解决方案 混合服务器方案 云服务器解决方案 您是选择将Sitecore作为云,内部部署还是混合解决方案运行,取 ...
- sitecore系统教程之内容创作入门
在Sitecore中,有两种编辑工具,您可以在其中创建和编辑网站上的内容: 内容编辑器 - 专为熟悉Sitecore及其包含的功能的经验丰富的内容作者而设计的应用程序. 体验编辑器 - 一种直观的编辑 ...
随机推荐
- day3_列表
一.列表 列表也通常被称为list 数组 array 1.列表定义 使用方括号([])即可 alist = [123,'abc','def',666,True] 空列表的定义:alist = [] 或 ...
- 洛谷P3233 世界树 [HNOI2014] 虚树
正解:虚树 解题报告: 传送门! 首先看到这种就要想到虚树这个是毫无疑问的QwQ 建虚树什么的都可以循规蹈矩地做,不说辣,具体可以看下虚树学习笔记什么的看下板子 但是建好虚树之后怎么搞还是有点儿讲究, ...
- RN 获取地理位置
代码: export default class GeolocationView extends Component { watchID: number; constructor(props){ su ...
- 报错解决——Disconnected:No supported authentication methods available
该问题是由于ssh链接未允许远程密码认证导致的 解决方法 通过管理控制台进入系统,查看 /etc/ssh/sshd_config配置文件中是否包含以下配置 PasswordAuthentication ...
- 线上MYSQL同步报错故障处理方法总结
前言 在发生故障切换后,经常遇到的问题就是同步报错,下面是最近收集的报错信息. 记录删除失败 在master上删除一条记录,而slave上找不到 Last_SQL_Error: Could not e ...
- 遮罩层出现后不能滚动 添加事件@touchmove.prevent
<div class="maskshow" @click="hidden_video" @touchmove.prevent></div> ...
- [QGLViewer]鼠标取点后回调
纠结的一天:QGLViewer控件重载鼠标事件(AxMapControl类),如何在点击鼠标之后执行一个回调,通知主界面Viewer类执行一个操作. 先是考虑直接使用C风格的回调函数,在AxMapCo ...
- python的globals()
以字典的形式返回当前位置的全局变量
- golang 中 channel 的非阻塞访问方法
在golang中,基本的channel读写操作都是阻塞的,如果你想要非阻塞的,可以使用如下示例: 即只要在select中加入default,阻塞立即变成非阻塞: package main import ...
- 转发(forward)和重定向(redirect)
转发和重定向 参考:http://www.2cto.com/kf/201107/97118.html 以前写的一个注册页面: package com.ifly.bbs.controller; impo ...