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. LeetCode 917 Reverse Only Letters 解题报告

    题目要求 Given a string S, return the "reversed" string where all characters that are not a le ...

  2. jquery.axios无刷新机制删除

    思路:无刷新机制就是不用的刷新动作 ,用前端html语法删除和后端的数据库删,同时删除达到效果 除操作,来实现无刷洗的方法

  3. Xshell远程连接 与 Xftp文件传输

    刚开始接触Linux的时候,会想我该怎么在Windows连接到另一台Linux服务器,怎么把我Windows上的文件放到我Linux上面,网上搜索之后,知道可以用Xshell远程连接到Linux,用X ...

  4. 重读《深入理解Java虚拟机》七、探究Java内存模型

    1.计算机物理内存结构(物理内存结构决定了虚拟机内存结构) 由于处理器和主存储设备在运算速度上不上同一个数量级上,因此处理器和主存储器之间不得不增设一层高速缓存,将部分在主存储设备的运算放在高速缓存内 ...

  5. python-面向对象-12_模块和包

    模块和包 目标 模块 包 发布模块 01. 模块 1.1 模块的概念 模块是 Python 程序架构的一个核心概念 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块 模块名 同样也 ...

  6. Tcpdump MySQL Query

    在MySQL线上环境我们一般只打开了binary log,slow log,有时我们需要查看general log呢?因为该log记录所有的请求,打开该日志肯定给磁盘造成很大压力,IO能力有所下降,所 ...

  7. svn .a文件上传不了

    最近mac电脑出现了问题,导致硬盘被格式化,所有文件都没了,打开app,一直缺少第三方文件libWeChatSDK.a,打开xcode文件变红了,找不到了,为了预防此类问题,在这里给出解决方法,如果没 ...

  8. 自动化工具之二:win32gui

    自动化工具win32gui 一.下载安装win32gui 二.Win32gui的使用 1.查找窗体句柄 我们知道的所有空间其实就是窗体,所有的窗口都有一个独立的句柄,要操作任意一个窗体,你都需要找到这 ...

  9. select 数字/字符串/count(参数)/sum(数字) from table

    第一种的写法是增加临时列,每行的列值是写在select后的数: --1select 1 from W_EC_PLACESTATION_COLLECT t--2select 2 from W_EC_PL ...

  10. Vue-selller 饿了吗 - 准备工作

    安装脚手架vue-cli npm install -g vue-cli 建立项目 vue init webpack sell(sell是项目名称) 进入项目目录 cd sell 可以看目录结构: ls ...