Sitecore中的所有内容都是一个项目。模板也是如此。Sitecore中的模板是一个项目,它定义了其他项目的结构和行为。Sitecore中的每个项目都是某个模板的实例。模板还可以定义它分解成的部分和字段并实现内容。每个部分代表模板下的子项,每个字段是相关部分项下的另一个子项。
模板位于/ sitecore / templates中
基本类型的模板
可以在内容编辑器/模板编辑器中定义三种基本类型的模板。
数据模板
基本模板类型。它可以包含字段,可以由编辑器使用插入页面实例化。本文正好讨论了这种类型的模板。
分支模板
模板的分支结构。它允许您定义模板的整个分支,以便通过创建分支模板的实例来显示整个项目结构,而无需用户逐个创建它们。
命令模板
它基本上只处理命令,这是在创建实例模板时引发的。它用于自动创建具有业务逻辑的项目。
__Standard值
除了字段之外,模板还可以包含定义预览的布局细节,插入选项定义用于创建初始值的分层模板,包括使用标记,例如$ name或例如图标。但是,在创建实例模板时,并非所有这些设置都会转移到项目上。为此,需要在模板下创建一种特殊类型的项目__Standard。它基本上处理实例模板,该模板定义字段的值,包括标准模板中的字段,这些字段未在实例模板上定义。它们对于从同一模板创建的所有项目都是通用的。因此,在内容项具有自己的某个字段的定义值之前,将使用__Standard值中的值。
您可以使用“构建器选项”选项卡上“功能区”中的“标准值”按钮创建__Standard值。为了显示“构建器选项”选项卡,您必须从窗口左侧的分支中选择一个模板,然后切换到窗口内容部分的“构建器”选项卡。
识别和导航
您可以通过内容项轻松点击创建项目的模板。也可以使用“配置”选项卡上的“更改”键将模板更改为另一个模板。同样,使用“导航”选项卡上功能区中的“链接”键,还可以找到使用模板的所有位置。然后,内容部分中的“继承”选项卡向我们显示分支结构,向我们显示模板的所有内容,包括子继承的字段。
无版本与共享
模板中的字段可以定义为Unversioned或Shared。正如标题中已经清楚的那样,Unversioned字段在语言中的所有版本中具有相同的值。对于所有语言的所有版本,共享字段始终具有一个有效值。
倒退
模板中的字段可以具有已定义的回退。Fallback是一种机制,它确保从另一个版本或另一种语言(如果它是空的)插入字段的值。各个语言的后备层次结构在/ sitecore / system / Languages中定义。
有必要在单个项目字段上定义字段的详细设置。模板上的“构建器”选项卡上只提供基本设置。
创建模板时的建议
遵循惯例。Sitecore在设计和实施名为Sitecore Helix的 Sitecore解决方案时准备了一份推荐原则的文档。我建议你阅读它。它可能会帮助您设计Sitecore中遇到的所有字段。与模板相关的部分使用以下分类:
- 接口模板 - 包含字段,约定以_开头,在C#中它等同于接口。
- 页面类型模板 - 可以具有布局,不包含字段,从一个或多个接口模板继承,从中创建实例,在C#中它等同于实现一个或多个接口的类。
- 数据源模板 - 即使它们也是从接口模板继承而没有布局,它们仅用于引用项作为渲染的数据源。
- 设置模板 - 模板定义业务逻辑实现的设置,不从接口模板继承并直接实例化。
- 文件夹模板 - 不要使用Common / Folder!为每个模块都有自己的文件夹模板。多亏了这一点,您将能够模块化解决方案并在文件上使用各种插入选项,授权等。
除非绝对必要,否则请勿使用Shared或Unversioned字段。始终需要仔细考虑语言和文化背景。