範本 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, allowedParents,和 allowedChildren 也可以放在範本上,以定義更複雜的規則。 但是,如果可能, mod 更簡單地定義 cq:allowedTemplates 屬性(如果需要進一步限制允許的範本)。
另一個優點是 cq:allowedTemplates 屬性可由作者在 進階頁面屬性. 無法使用(標準)UI更新其他範本屬性,因此需要開發人員來維護每次變更的規則和程式碼部署。

在網站管理員介面中建立新頁面時,可用範本清單會根據新頁面的位置,以及每個範本中指定的位置限制而定。

下列屬性決定範本是否為 T 可用於將新頁面放置為頁面子項 P. 這些屬性中的每個都是多值字串,包含零個或多個用於與路徑比對的規則運算式:

  • cq:allowedTemplates 屬性 jcr:content 子節點 P 或祖先 P.

  • 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