範本 templates
範本會用於AEM中的各個時間點:
-
當 建立需要選擇模板的頁面;這將用作新頁面的基礎。 範本會定義產生的頁面、任何初始內容和 元件 可使用(設計屬性)。
-
當 建立內容片段,您也需要選取範本. 此範本會定義結構、初始元素和變異。
以下範本將詳細說明:
範本 — 頁面 templates-pages
AEM現在提供兩種建立頁面的基本範本類型:
可編輯的範本 editable-templates
使用AEM開發時,可編輯的範本現在被視為最佳作法。
可編輯範本的優點:
靜態範本 static-templates
靜態範本:
範本可用性 template-availability
-
只有
cq:allowedTemplates
屬性 -
僅位於站點根
/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
遞增頁面階層時找到的屬性,開頭為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
請參閱 內容片段範本 以取得完整資訊。