範本 templates
範本會用於AEM中的各個時間點:
-
當 建立需要選擇模板的頁面;這將用作新頁面的基礎。 範本會定義產生的頁面、任何初始內容和 元件 可使用(設計屬性)。
-
當 建立內容片段,您也需要選取範本. 此範本會定義結構、初始元素和變異。
以下範本將詳細說明:
範本 — 頁面 templates-pages
AEM現在提供兩種建立頁面的基本範本類型:
可編輯的範本 editable-templates
使用AEM開發時,可編輯的範本現在被視為最佳作法。
可編輯範本的優點:
靜態範本 static-templates
靜態範本:
範本可用性 template-availability
-
只有
cq:allowedTemplates屬性 -
僅位於站點根
/content/we-retail/jcr:contentallowedPaths, allowedParents,和 allowedChildren 也可以放在範本上,以定義更複雜的規則。 但是,如果可能, mod 更簡單地定義 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屬性,但沒有任何值符合P,T被拒絕。 -
如果上述兩個屬性均為空或不存在,
T拒絕,除非它屬於與P.T屬於與P如果且唯若路徑的第二層名稱T與路徑的第二層的名稱相同P. 例如,範本/apps/geometrixx/templates/foo屬於與頁面相同的應用程式/content/geometrixx. -
若
T具有非空白allowedParents屬性,但沒有任何值符合P,T被拒絕。 -
若範本為
P非空白allowedChildren屬性,但沒有任何值符合T,T被拒絕。 -
在其他所有情況下,
T中指定的規則。
下圖描述了模板評估流程:
限制子頁面中使用的模板 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
請參閱 內容片段範本 以取得完整資訊。