模板 templates

CAUTION
AEM 6.4已结束扩展支持,本文档将不再更新。 有关更多详细信息,请参阅 技术支助期. 查找支持的版本 此处.

模板在AEM的不同位置使用:

详细介绍了以下模板:

模板 — 页面 templates-pages

AEM现在提供两种用于创建页面的基本模板类型:

NOTE
使用模板 创建新页面 (对页面作者而言)没有明显的差异,也没有显示正在使用的模板类型。

可编辑模板 editable-templates

可编辑的模板现在被视为使用AEM进行开发的最佳实践。

可编辑模板的优势:

  • 可以 已创建编辑 的作者。

  • 引入此模板后,您可以为使用该模板创建的任何页面定义以下内容:

    • 结构
    • 初始内容
    • 内容策略
  • 创建新页面后,页面与模板之间会保持动态连接;这意味着对模板结构所做的更改将反映在使用该模板创建的任何页面上(不会反映对初始内容所做的更改)。

  • 使用内容策略(从模板编辑器中编辑)来保留设计属性(在页面编辑器中不使用设计模式)。

  • 存储在 /conf

  • 请参阅 可编辑的模板 以了解更多信息。

NOTE
AEM社区文章介绍了如何使用可编辑的模板开发Experience Manager网站,请参阅 使用可编辑的模板创建Adobe Experience Manager 6.4网站.

静态模板 static-templates

静态模板:

  • 必须由您的开发人员定义和配置。
  • 这是AEM的原始模板系统,已推出多个版本。
  • 静态模板是节点的层次结构,其结构与要创建的页面相同,但没有任何实际内容。
  • 复制以创建新页面,此后不存在动态连接。
  • 使用 设计模式 来保留设计属性。
  • 存储在 /apps
  • 请参阅 静态模板 以了解更多信息。
NOTE
自AEM 6.4起,使用静态模板不被视为最佳实践。 请改用可编辑的模板。
AEM现代化 工具可以帮助您从静态模板迁移到可编辑的模板。

模板可用性 template-availability

CAUTION
AEM提供了多个属性来控制 站点. 但是,将它们组合在一起可能会导致非常复杂的规则,从而难以跟踪和管理。
因此,Adobe建议您首先通过定义以下内容来简单操作:
  • 只有 cq:allowedTemplates 属性

  • 仅在站点根目录上

有关示例,请参阅We.Retail: /content/we-retail/jcr:content
属性 allowedPaths, allowedParentsallowedChildren 也可以放置在模板上以定义更复杂的规则。 但是,如果可能, 更简单地进一步定义 cq:allowedTemplates 网站子区域的属性(如果需要进一步限制允许的模板)。
另一个优势是 cq:allowedTemplates 属性可由作者在 高级 选项卡 页面属性. 无法使用(标准)UI更新其他模板属性,因此需要开发人员为每次更改维护规则和代码部署。

在站点管理界面中创建新页面时,可用模板的列表取决于新页面的位置以及在每个模板中指定的放置限制。

以下属性确定模板是否 T 允许将新页面用作页面的子项 P. 以下每个属性都是一个包含零个或多个正则表达式的多值字符串,用于与路径匹配:

  • cq:allowedTemplates 属性 jcr:content 子节点 PP.

  • allowedPaths 财产 T.

  • allowedParents 财产 T.

  • allowedChildren 模板的属性 P.

评价工作如下:

  • 第一个非空 cq:allowedTemplates 属性,该属性在页面层次结构的升序时以开头 PT. 如果没有值匹配, 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 中的“禁止页面加载闪烁”。

下图描述了模板评估流程:

chlimage_1-176

子页面中使用的限制模板 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

请参阅 内容片段模板 以了解完整信息。

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e