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. 洛谷P3567 KUR-Couriers [POI2014] 主席树/莫队

    正解:主席树/莫队 解题报告: 传送门! 这题好像就是个主席树板子题的样子,,,? 毕竟,主席树的最基本的功能就是,维护一段区间内某个数字的个数 但是毕竟是刚get到主席树,然后之前做的一直是第k大, ...

  2. Oracle内置函数SQLCODE和SQLERRM的使用

    在我们写proc程序中经常要有错误处理,在错误处理中我们经常要输出错误信息来给帮助我们分析和解决错误原因,从而更正数据.这时候就会用到SQLCODE和SQLERRM. SQLCode:数据库操作的返回 ...

  3. git push error:error: insufficient permission for adding an object to repository database ./object解决

    在服务器代码库xxx.git文件夹中:1.sudo chmod -R g+ws *2.sudo chgrp -R mygroup * //mygroup是该文件夹的所有组3.git repo-conf ...

  4. .NET Core 使用 Kestrel

    Kestrel介绍 Kestrel是一个基于libuv的跨平台web服务器 在.net core项目中就可以不一定要发布在iis下面了 Kestrel体验 可以使用useUrls来设置一个请求的地址 ...

  5. (1.7)mysql profiles分析

    mysql profiles分析 作用:记录会话查询SQL所用时间 1.开启 2.使用 [2.1]先使用一个查询 [2.2]然后再运行 show profiles; [2.3]查看执行过程中每个状态和 ...

  6. 如何在Digital Ocean上申请服务器的教程

    本文会详细叙述如何在digital ocean上注册.申请.创建以及配置服务器,亲测有效. what's the Digital Ocean ? 根据度娘释义,Digital Ocean是digita ...

  7. 2018-2019-1 20189221 《Linux内核原理与分析》第六周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第六周作业 实验五 实验过程 将Fork函数移植到Linux的MenuOS fork()函数通过系统调用创建一个与原来 ...

  8. [Guitar self-practising] 【吉他练习王-节奏练习】曲目1 基本扫弦节奏练习

    这本书来自吉他练习王-节奏练习, 大家可以自行到网上搜搜电子版看看. 扫弦练习: 将左手轻轻靠着琴弦, mute琴弦.右手拿上拨片, 节拍器60,左脚踏着节拍练习. note: 注意 “轻”(幅度轻, ...

  9. 无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。

    将项目部署到服务器后发现有如下问题,查了网上好多说是需要被序列化的类没有写上[Serializable]标志,所以把全部需要序列化的列都写上了标志发现还是不是,最后查到了发现网上说的并不太准确,而是需 ...

  10. vue项目中别个访问你的本地调试需要改东西