模板 templates
模板在础贰惭中的各个时间点使用:
- 创建页面时,请选择模板。 此模板用作新页面的基础。 模板定义了页面的结构、任何初始内容以及可用的组件(设计属性)。
以下模板将详细介绍:
模板 — 页面 templates-pages
础贰惭现在提供了两种用于创建页面的基本模板类型:
可编辑模板 editable-templates
可编辑模板现在被视为使用础贰惭进行开发的最佳实践。
可编辑模板的优势:
静态模板 static-templates
静态模板:
- 必须由开发人员定义和配置。
- 础贰惭的原始模板系统已推出多个版本。
- 静态模板是指与要创建页面具有相同结构,但没有任何实际内容的节点的层次结构。
- 创建页面时复制了此变量,此后不存在动态连接。
- 使用设计模式保存设计属性。
- 存储在
/apps下
模板可用性 template-availability
-
仅
cq:allowedTemplates属性 -
仅在站点根目录上
/content/we-retail/jcr:contentallowedPaths、allowedParents和allowedChildren也可以放在模板上以定义更复杂的规则。 但是,如果可能的话,如果需要进一步限制允许的模板,在网站的子区域上定义其他cq:allowedTemplates属性会更简单? 许多。cq:allowedTemplates属性。 无法使用(标准)UI更新其他模板属性,因此需要开发人员维护规则和每次更改的代码部署。在站点管理界面中创建页面时,可用模板的列表取决于新页面的位置以及在每个模板中指定的版面限制。
以下属性确定模板T是否用于要作为页面P的子页面放置的新页面。 以下每个属性都是一个多值字符串,其中包含零个或多个用于与路径匹配的正则表达式:
-
P的jcr:content子节点或P的上级的cq:allowedTemplates属性。 -
T的allowedPaths属性。 -
T的allowedParents属性。 -
P模板的allowedChildren属性。
评估工作如下:
-
以
P开头的页面层次结构升序时找到的第一个非空cq:allowedTemplates属性与T的路径匹配。 如果没有任何匹配的值,则会拒绝T。 -
如果
T具有非空的allowedPaths属性,但没有值与P的路径匹配,则T被拒绝。 -
如果上述两个属性都为空或不存在,
T将被拒绝,除非它与P属于同一应用程序。 当且仅当T路径的第二级名称与P路径的第二级名称相同时,T与P属于同一应用程序。 例如,模板/apps/geometrixx/templates/foo与页面/content/geometrixx属于同一应用程序。 -
如果
T具有非空的allowedParents属性,但没有值与P的路径匹配,则T被拒绝。 -
如果
P的模板具有非空的allowedChildren属性,但没有值与T的路径匹配,则T被拒绝。 -
在所有其他情况下,允许
T。
下图描述了模板评估流程:
限制子页面中使用的模板 limiting-templates-used-in-child-pages
要限制哪些模板可用于在给定页面下创建子页面,请使用页面jcr:content节点的cq:allowedTemplates属性指定允许作为子页面的模板列表。 列表中的每个值都必须是允许的子页面的模板的绝对路径,例如/apps/geometrixx/templates/contentpage。
您可以在模板的jcr:content节点上使用cq:allowedTemplates属性,将此配置应用于使用此模板的所有新创建的页面。
如果要添加更多约束(例如,对于模板层次结构),可以在模板上使用allowedParents/allowedChildren属性。 然后,您可以明确指定从模板T创建的页面必须是从模板T创建的页面的父项/子项。