範本

範本用於AEM的不同點:

以下範本將詳細說明:

範本——頁面

AEM現在提供兩種基本範本類型,以建立頁面:

注意

使用範本建立新頁面時,沒有顯示差異(對頁面作者而言),也沒有顯示使用的範本類型。

可編輯的範本

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

可編輯範本的優點:

  • 作者可以creatededited

  • 已引入此功能,可讓您為使用範本建立的任何頁面定義下列項目:

    • 結構
    • 初始內容
    • 內容策略
  • 建立新頁面後,頁面與範本之間會維持動態連線;這表示對範本結構所做的變更將反映在該範本所建立的任何頁面上(不會反映對初始內容的變更)。

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

  • 儲存在/conf

  • 如需詳細資訊,請參閱可編輯範本

注意

AEM社群文章會說明如何使用可編輯的範本開發Experience Manager網站,請參閱「使用可編輯的範本建立Adobe Experience Manager 6.4網站」。

靜態模板

靜態範本:

  • 必須由您的開發人員定義和設定。
  • 這是AEM的原始範本系統,已推出許多版本。
  • 靜態範本是節點的階層,其結構與要建立的頁面相同,但沒有任何實際內容。
  • 複製以建立新頁面,之後不存在動態連線。
  • 使用設計模式來保存設計屬性。
  • 儲存在/apps
  • 如需詳細資訊,請參閱靜態範本
注意

自AEM 6.4起,使用靜態範本並不被視為最佳實務。 請改用可編輯的範本。

AEM Modernizationtools可協助您從靜態範本移轉至可編輯的範本。

模板可用性

注意

AEM提供多個屬性,以控制​Sites​下允許的範本。 但是,結合這些規則可能會產生非常複雜的規則,而且難以追蹤和管理。

因此,Adobe建議您從定義:

  • cq:allowedTemplates屬性

  • 僅位於站點根目錄

如需範例,請參閱We.Retail:/content/we-retail/jcr:content

屬性allowedPathsallowedParentsallowedChildren也可以放在範本上,以定義更複雜的規則。 但是,如果需要進一步限制允許的範本,在網站子區段上進一步定義​much​屬性會更簡單。cq:allowedTemplates

另一個優點是,cq:allowedTemplates屬性可由作者在​頁面屬性​的​Advanced​標籤中更新。 其他範本屬性無法使用(標準)UI進行更新,因此需要開發人員來維護規則和程式碼部署以進行每項變更。

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

以下屬性決定是否允許將範本T用於新頁面,作為頁面P的子頁面。 這些屬性中的每個屬性都是一個多值字串,其中包含0或多個規則運算式,用於與路徑進行比對:

  • Pjcr:content子節點的cq:allowedTemplates屬性或P的祖先。

  • TallowedPaths屬性。

  • TallowedParents屬性。

  • P範本的allowedChildren屬性。

評價工作如下:

  • 當以P開始的頁面階層遞增時,找到的第一個非空白的cq:allowedTemplates屬性與T的路徑相符。 如果沒有任何值匹配,則拒絕T

  • 如果T具有非空的allowedPaths屬性,但沒有任何值與P的路徑匹配,則拒絕T

  • 如果上述兩個屬性皆為空或不存在,則會拒絕T,除非它屬於與P相同的應用程式。 T 僅當路徑的第二 P 級名稱與路徑的第二級名稱相同 T 時,才屬於與if相同的應用程式 P。例如,範本/apps/geometrixx/templates/foo屬於與頁面/content/geometrixx相同的應用程式。

  • 如果T具有非空的allowedParents屬性,但沒有任何值與P的路徑匹配,則拒絕T

  • 如果P的模板具有非空的allowedChildren屬性,但沒有任何值與T的路徑匹配,則拒絕T

  • 在所有其他情況下,都允許T

下圖描述了模板評估流程:

chlimage_1-176

限制子頁面中使用的範本

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

您可以使用範本的jcr:content節點上的cq:allowedTemplates屬性,將此配置應用於使用此模板的所有新建立頁面。

如果要添加更多約束(例如,關於模板層次),可以使用模板上的allowedParents/allowedChildren屬性。 然後,您可以明確指定從範本T建立的頁面必須是從範本T建立的頁面的父項/子項。

範本——內容片段

如需完整資訊,請參閱內容片段範本

本頁內容