範本 templates
範本在AEM中的不同時間點使用:
-
建立頁面時,您會選取範本. 此範本用作新頁面的基礎。 範本會定義頁面的結構、任何初始內容,以及 元件 (設計屬性)。
-
建立內容片段時,您也可以選取範本. 此範本定義結構、初始元素和變數。
以下範本將詳細說明:
範本 — 頁面 templates-pages
AEM現在提供兩種基本型別的範本以用於建立頁面:
可編輯的範本 editable-templates
可編輯的範本現在被認為是使用AEM進行開發的最佳實務。
可編輯範本的優點:
靜態範本 static-templates
靜態範本:
範本可用性 template-availability
-
僅限
cq:allowedTemplates
屬性 -
僅於網站根目錄上
/content/we-retail/jcr:content
allowedPaths
, allowedParents
、和 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
屬性,但沒有值符合的路徑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
另請參閱 內容片段範本.