Sitecore中的所有内容都是一个项目。模板也是如此。Sitecore中的模板是一个项目,它定义了其他项目的结构和行为。Sitecore中的每个项目都是某个模板的实例。模板还可以定义它分解成的部分和字段并实现内容。每个部分代表模板下的子项,每个字段是相关部分项下的另一个子项。
模板位于/ sitecore / templates中

基本类型的模板

可以在内容编辑器/模板编辑器中定义三种基本类型的模板。

数据模板

基本模板类型。它可以包含字段,可以由编辑器使用插入页面实例化。本文正好讨论了这种类型的模板。

分支模板

模板的分支结构。它允许您定义模板的整个分支,以便通过创建分支模板的实例来显示整个项目结构,而无需用户逐个创建它们。

命令模板

它基本上只处理命令,这是在创建实例模板时引发的。它用于自动创建具有业务逻辑的项目。

 

标准模板

继承

模板可以从一个或多个其他模板继承。由于继承,我们可以通常为更多数据模板定义抽象模板。由于这个原因,内容项可以包含许多字段,而不必总是为每个模板单独重新定义它们。

标准模板

标准模板是Sitecore为其功能提供的基本模板。此模板不包含任何字段,但它继承了许多其他模板,因此我们可以在项目上定义显示名称,布局详细信息,发布限制和工作流程等。继承到标准模板的所有字段都以_开头。

标准模板位于/ sitecore / templates / System / Templates / Standard模板中

__Standard值

除了字段之外,模板还可以包含定义预览的布局细节,插入选项定义用于创建初始值的分层模板,包括使用标记,例如$ name或例如图标。但是,在创建实例模板时,并非所有这些设置都会转移到项目上。为此,需要在模板下创建一种特殊类型的项目__Standard。它基本上处理实例模板,该模板定义字段的值,包括标准模板中的字段,这些字段未在实例模板上定义。它们对于从同一模板创建的所有项目都是通用的。因此,在内容项具有自己的某个字段的定义值之前,将使用__Standard值中的值。

您可以使用“构建器选项”选项卡上“功能区”中的“标准值”按钮创建__Standard值。为了显示“构建器选项”选项卡,您必须从窗口左侧的分支中选择一个模板,然后切换到窗口内容部分的“构建器”选项卡。

识别和导航

您可以通过内容项轻松点击创建项目的模板。也可以使用“配置”选项卡上的“更改”键将模板更改为另一个模板。同样,使用“导航”选项卡上功能区中的“链接”键,还可以找到使用模板的所有位置。然后,内容部分中的“继承”选项卡向我们显示分支结构,向我们显示模板的所有内容,包括子继承的字段。

无版本与共享

模板中的字段可以定义为Unversioned或Shared。正如标题中已经清楚的那样,Unversioned字段在语言中的所有版本中具有相同的值。对于所有语言的所有版本,共享字段始终具有一个有效值。

倒退

模板中的字段可以具有已定义的回退。Fallback是一种机制,它确保从另一个版本或另一种语言(如果它是空的)插入字段的值。各个语言的后备层次结构在/ sitecore / system / Languages中定义。

有必要在单个项目字段上定义字段的详细设置。模板上的“构建器”选项卡上只提供基本设置。

创建模板时的建议

遵循惯例。Sitecore在设计和实施名为Sitecore Helix的 Sitecore解决方案时准备了一份推荐原则的文档。我建议你阅读它。它可能会帮助您设计Sitecore中遇到的所有字段。与模板相关的部分使用以下分类:

  • 接口模板 - 包含字段,约定以_开头,在C#中它等同于接口。
  • 页面类型模板 - 可以具有布局,不包含字段,从一个或多个接口模板继承,从中创建实例,在C#中它等同于实现一个或多个接口的类。
  • 数据源模板 - 即使它们也是从接口模板继承而没有布局,它们仅用于引用项作为渲染的数据源。
  • 设置模板 - 模板定义业务逻辑实现的设置,不从接口模板继承并直接实例化。
  • 文件夹模板 - 不要使用Common / Folder!为每个模块都有自己的文件夹模板。多亏了这一点,您将能够模块化解决方案并在文件上使用各种插入选项,授权等。

除非绝对必要,否则请勿使用Shared或Unversioned字段。始终需要仔细考虑语言和文化背景。

Sitecore系统教程之模板理解的更多相关文章

  1. sitecore系统教程之内容编辑器

    内容编辑器   内容编辑器是一种编辑工具,可用于管理和编辑网站上的所有内容.它专为熟悉Sitecore及其包含的功能的经验丰富的内容作者而设计. 内容编辑器的外观和功能取决于用户的角色,本地安全设置以 ...

  2. sitecore系统教程之内容编辑器中创建项目

    在内容编辑器中创建新项目时,必须先在内容树中选择一个项目,以指示新项目的位置.您可以创建一个新项目作为您选择的项目的兄弟或子项目: 兄弟是您在与所选项目相同的级别创建的项目. 子项是您在所选项下创建的 ...

  3. sitecore系统教程之禁用xDB和Xdb跟踪

    Sitecore体验管理包含未启用体验数据库(xDB)且无需购买xDB许可证情况下使用Sitecore内容管理系统. 除了在未启用xDB的情况下运行Sitecore Experience Platfo ...

  4. Sitecore系统教程即时查阅编辑内容

    实时模式中的Sitecore 作为开发人员,我们经常需要在本地环境中使用代码和内容.在本地,能够立即看到任何内容更改,以节省时间和提高效率是有意义的.这是在实时模式下运行Sitecore.默认情况下, ...

  5. sitecore系统教程之使用修补程序文件自定义Sitecore配置

    您可以使用修补程序文件在Sitecore中添加或更改配置设置.Sitecore将修补程序文件与Sitecore.config 文件合并,以创建在运行时使用的配置文件. 本主题描述: 补丁文件放置 补丁 ...

  6. sitecore系统教程之部署架构方式分析

    当您第一次部署Sitecore体验平台时,您可以选择三种主要体系结构选项: 内部部署服务器解决方案 混合服务器方案 云服务器解决方案 您是选择将Sitecore作为云,内部部署还是混合解决方案运行,取 ...

  7. sitecore系统教程之架构概述

    Sitecore体验数据库(xDB)从实时大数据存储库中的所有通道源收集所有客户交互.它连接交互数据,为每个客户创建全面,统一的视图,并使营销人员可以使用数据来管理客户的实时体验. xDB架构非常灵活 ...

  8. sitecore系统教程之默认收集数据库MongoDB注意事项

    MongoDB是一个高度可扩展的基于文档的NoSQL数据库解决方案,Sitecore体验数据库(xDB)用于收集数据库.在安装MongoDB之前,您应该考虑以下事项: 确定您是需要基于公共云的解决方案 ...

  9. sitecore系统教程之体验编辑器中创建一个项目

    您可以使用体验编辑器创建新项目并将其直接插入网页. 注意 如何在Sitecore中创建项目可能会有所不同,具体取决于您拥有的安全角色以及网站的设置方式. 要插入新项目: 在体验编辑器中,导航到要添加新 ...

随机推荐

  1. Fiddler怎么可以抓取https的请求包

    对于https的协议是带有安全的功能,所有有一些的https的协议是无法抓到的,所以需要通过设置filler中来对,来使用filler的方式的来抓取到https的请求包,那么如何使用filler中抓取 ...

  2. IntelliJ常用设置及快捷键

    转自: http://www.blogjava.net/rockblue1988/archive/2014/10/25/418994.html 一.黑色主题 Darcula眼睛舒服,最重要的是酷!设置 ...

  3. (4.3)mysql备份还原——mysql备份策略

    (4.3)mysql备份还原——mysql备份策略 1.指定备份策略时需要考虑的点 [1.1]备份周期:2次备份间隔时长 [1.2]备份方式:在备份周期中,使用什么备份方式.备份模式 [1.3]实现方 ...

  4. Laravel展示产品-CRUD之show

    上一篇讲了Laravel创建产品-CRUD之Create and Store,现在我们来做产品展示模块,用到是show,①首先我们先修改controller,文件是在/app/Http/Control ...

  5. Observer(__ob__: Observer) 对象添加属性

    重点通过这句话给对象添加属性: this.$set(r,'upshow',false); 在data中定义laws来装从接口中请求到数据 data(){ return{ laws:[],//法律依据 ...

  6. 自己实现strtok函数

    思路:每次在原来字符串中查找分隔字符串,将分隔字符串中所有字符设为'\0',然后输出分隔串前的子串,同时更新原串的起始位置. PS:有不少博客作者自己实现的方法中往往只将分隔串当做一个字符,实际上可以 ...

  7. poj3126

    被坑了3个小时,本来以为算法错了,谁知道,竟然是素数筛弄错了 !!! #include <iostream>#include <stdio.h>#include <str ...

  8. Python pickle 模块

    转自:https://www.cnblogs.com/lincappu/p/8296078.html pickle可以存储的数据类型 所有python支持的原生类型:布尔值,整数,浮点数,复数,字符串 ...

  9. 第二章:Opencv核心類Mat

    Opecv就是做計算機視覺,就是讲图片转换成计算机所能识别的数据 Mat类中由大量的内联函数,主要就是用于提高速度. 一般类型都用rgb,存的时候用CV_8UC3.create函数一般会把原来的空间释 ...

  10. Python_summary

    Q: python中出现IndentationError:unindent does not match any outer indentation levelA:复制代码的时候容易出现缩进错误,虽然 ...