範本 templates

範本在AEM中的不同時間點使用:

以下範本將詳細說明:

範本 — 頁面 templates-pages

AEM現在提供兩種基本型別的範本以用於建立頁面:

NOTE
將範本用於 建立頁面,沒有可見的差異(對頁面作者而言),也沒有指示使用的範本型別。

可編輯的範本 editable-templates

可編輯的範本現在被認為是使用AEM進行開發的最佳實務。

可編輯範本的優點:

  • 可以是 已建立已編輯 您的作者。

  • 此更新已引入,可讓您為使用範本建立的任何頁面定義下列內容:

    • 結構
    • 初始內容
    • 內容原則
  • 建立新頁面後,頁面與範本之間會維持動態連線。 此連線表示對範本結構的變更會反映在使用該範本建立的任何頁面上;初始內容的變更不會反映出來。

  • 使用內容原則(從範本編輯器編輯)來儲存設計屬性(不使用頁面編輯器中的設計模式)。

  • 儲存在 /conf

  • 另請參閱 可編輯的範本 以取得進一步資訊。

靜態範本 static-templates

靜態範本:

  • 必須由您的開發人員定義和設定。
  • 已推出許多版本的AEM原始範本系統。
  • 靜態範本是指與要建立之頁面結構相同,但沒有任何實際內容的節點階層。
  • 建立頁面時會複製,之後不會有任何動態連線。
  • 使用 設計模式 以儲存設計屬性。
  • 儲存在 /apps
  • 另請參閱 靜態範本 以取得進一步資訊。
NOTE
自AEM 6.5起,使用靜態範本已不再是最佳做法。 請改用可編輯的範本。
AEM現代化 工具可協助您從靜態範本移轉至可編輯範本。

範本可用性 template-availability

CAUTION
AEM提供多個屬性來控制底下允許的範本 網站. 不過,將其合併可能會導致複雜規則,難以追蹤和管理。
因此,Adobe建議您透過定義以下內容來開始簡化:
  • 僅限 cq:allowedTemplates 屬性

  • 僅於網站根目錄上

如需範例,請參閱We.Retail: /content/we-retail/jcr:content
屬性 allowedPathsallowedParents、和 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 屬性,但沒有值符合的路徑 PT 已拒絕。

  • 如果以上屬性都為空白或不存在, T 除非屬於與相同的應用程式,否則會遭拒 P. T 屬於與相同的應用程式 P 若且唯若第二層路徑的名稱 T 與路徑的第二層級名稱相同 P. 例如,範本 /apps/geometrixx/templates/foo 屬於與頁面相同的應用程式 /content/geometrixx.

  • 如果 T 具有非空白 allowedParents 屬性,但沒有值符合的路徑 PT 已拒絕。

  • 如果範本為 P 具有非空白 allowedChildren 屬性,但沒有值符合的路徑 TT 已拒絕。

  • 在所有其他情況下, 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
19ffd973-7af2-44d0-84b5-d547b0dffee2