範本 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
屬性allowedPathsallowedParentsallowedChildren也可以放在範本上,以定義更複雜的規則。 不過,如果可能的話,如果需要進一步限制允許的範本,在網站的子區段上定義其他cq:allowedTemplates屬性會更簡單​ 許多
另一個優點是cq:allowedTemplates屬性可由作者在​ 頁面屬性 ​的​ 進階 ​索引標籤中更新。 無法使用(標準) UI更新其他範本屬性,因此需要開發人員維護規則和每次變更的程式碼部署。

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

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

  • Pjcr:content子節點或P的上階的cq:allowedTemplates屬性。

  • TallowedPaths屬性。

  • TallowedParents屬性。

  • 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

下圖說明範本評估程式:

chlimage_1-176

限制子頁面中使用的範本 limiting-templates-used-in-child-pages

若要限制哪些範本可用於在指定頁面下建立子頁面,請使用頁面jcr:content節點的cq:allowedTemplates屬性,指定允許做為子頁面的範本清單。 清單中的每個值都必須是允許之子頁面的範本的絕對路徑,例如/apps/geometrixx/templates/contentpage

您可以在範本的jcr:content節點上使用cq:allowedTemplates屬性,將此設定套用至使用此範本的所有新建立頁面。

如果您想要新增更多限制,例如關於範本階層,您可以在範本上使用allowedParents/allowedChildren屬性。 然後,您可以明確指定從範本T建立的頁面必須是從範本T建立的頁面的父項/子項。

範本 — 內容片段 templates-content-fragments

請參閱內容片段範本

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2