模板 templates
模板在AEM的不同位置使用:
-
When 创建需要选择模板的页面;这将用作新页面的基础。 模板可定义生成页面的结构、任何初始内容以及 组件 (设计属性)。
-
When 创建内容片段时,您还需要选择模板. 此模板可定义结构、初始元素和变量。
详细介绍了以下模板:
模板 — 页面 templates-pages
AEM现在提供两种用于创建页面的基本模板类型:
可编辑模板 editable-templates
可编辑的模板现在被视为使用AEM进行开发的最佳实践。
可编辑模板的优势:
静态模板 static-templates
静态模板:
模板可用性 template-availability
-
只有
cq:allowedTemplates
属性 -
仅在站点根目录上
/content/we-retail/jcr:content
allowedPaths
, allowedParents
和 allowedChildren
也可以放置在模板上以定义更复杂的规则。 但是,如果可能, 多 更简单地进一步定义 cq:allowedTemplates
网站子区域的属性(如果需要进一步限制允许的模板)。cq:allowedTemplates
属性可由作者在 高级 选项卡 页面属性. 无法使用(标准)UI更新其他模板属性,因此需要开发人员为每次更改维护规则和代码部署。在站点管理界面中创建新页面时,可用模板的列表取决于新页面的位置以及在每个模板中指定的放置限制。
以下属性确定模板是否 T
允许将新页面用作页面的子项 P
. 以下每个属性都是一个包含零个或多个正则表达式的多值字符串,用于与路径匹配:
-
的
cq:allowedTemplates
属性jcr:content
子节点P
或P
. -
的
allowedPaths
财产T
. -
的
allowedParents
财产T
. -
的
allowedChildren
模板的属性P
.
评价工作如下:
-
第一个非空
cq:allowedTemplates
属性,该属性在页面层次结构的升序时以开头P
与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
要限制可在给定页面下创建子页面的模板,请使用 cq:allowedTemplates
财产 jcr:content
用于指定允许作为子页面的模板列表的页面节点。 列表中的每个值都必须是允许的子页面模板的绝对路径,例如 /apps/geometrixx/templates/contentpage
.
您可以使用 cq:allowedTemplates
模板上的属性 jcr:content
节点,以将此配置应用于使用此模板的所有新创建页面。
如果要添加更多约束(例如与模板层次结构有关的约束),可以使用 allowedParents/allowedChildren
属性。 然后,您可以明确指定从模板T创建的页面必须是从模板T创建的页面的父/子页面。
模板 — 内容片段 templates-content-fragments
请参阅 内容片段模板 以了解完整信息。