已將可編輯模板引入:
允許專業作者 建立和編輯模板。
template-authors
組。提供模板,以保留與從這些模板建立的任何頁面的動態連接。 這可確保對模板所做的任何更改都反映在頁面本身中。
使頁面元件更通用,這樣核心頁面元件就可以不用進行自定義。
使用可編輯的模板,生成頁面的部分會在元件中隔離。 您可以在UI中配置元件的必要組合,從而消除了為每個頁面變體開發新頁面元件的需要。
靜態模板 中。
此文檔:
概述了建立可編輯模板
描述建立可編輯模板所需的管理員/開發人員任務
描述可編輯模板的技術基礎
本文檔假定您已經熟悉建立和編輯模板。 請參閱創作文檔 建立頁面模板,其中詳細說明了模板作者所公開的可編輯模板的功能。
在新項目中設定可編輯頁面模板時,以下教程可能也很重要:
AEM Sites第2部分入門 — 建立基頁和模板
建立可編輯模板主要使用 模板控制台和模板編輯器 模板作者。 本節概述了此過程,並隨後介紹了在技術級別發生的情況。
有關如何在項目中使用可編輯模板的信AEM息,請參閱 使用Lazybones創AEM建項目。
建立新可編輯模板時,您:
建立 模板的資料夾。 這不是強制性的,但建議採用最佳做法。
現成提供了模板類型的選擇。 您也可以 建立您自己的站點特定模板類型 的子菜單。
配置新模板的結構、內容策略、初始內容和佈局。
結構
該結構允許您為模板定義元件和內容。
在模板結構中定義的元件不能移動到結果頁面上,也不能從任何結果頁面中刪除。
如果希望頁面作者能夠添加和刪除元件,請向模板中添加段落系統。
可以解鎖和重新鎖定元件,以允許您定義初始內容。
有關模板作者如何定義結構的詳細資訊,請參見 建立頁面模板。
有關結構的技術詳細資訊,請參見 結構 的子菜單。
原則
內容策略定義元件的設計屬性。
這些模板(以及使用模板建立的頁面)適用。
有關模板作者如何定義策略的詳細資訊,請參見 建立頁面模板。
有關策略的技術詳細資訊,請參見 內容策略 的子菜單。
初始內容
有關模板作者如何定義結構的詳細資訊,請參見 建立頁面模板。
有關初始內容的技術詳細資訊,請參見 初始內容 的子菜單。
配置
有關模板作者如何定義模板佈局的詳細資訊,請參閱 建立頁面模板。
有關模板佈局的技術詳細資訊,請參閱 佈局 的子菜單。
啟用模板,然後允許它用於特定內容樹。
有關模板作者如何啟用模板的詳細資訊,請參見 建立頁面模板。
有關啟用模板的技術詳細資訊,請參見 為我們啟用和允許模板本文檔
使用它建立內容頁。
有關頁面作者如何使用模板建立頁面的詳細資訊,請參閱 建立和組織頁面。
有關使用可編輯模板建立頁面的技術詳細資訊,請參閱 結果內容頁 的子菜單。
切勿輸入需要國際化到模板中的任何資訊。 就內部化而言, 核心元件的本地化特徵 。
模板是優化頁面建立工作流的強大工具。 然而,過多的模板可能會使作者不堪重負,使頁面建立變得混亂。 一個很好的經驗法則是將模板數量保持在100以下。
Adobe建議不要有1000個以上的模板,因為可能會影響效能。
編輯器客戶端庫假定 cq.shared
內容頁中的命名空間,如果不存在JavaScript錯誤 Uncaught TypeError: Cannot read property 'shared' of undefined
將產生結果。
所有示例內容頁包含 cq.shared
,因此基於它們的任何內容都自動包括 cq.shared
。 但是,如果您決定從頭開始建立自己的內容頁面而不根據示例內容進行建立,則必須確保包括 cq.shared
命名空間。
請參閱 使用客戶端庫 的上界。
為了組織模板,您可以使用以下資料夾:
即使您可以嵌套資料夾,當用戶在 模板 控制台呈扁平結構。
在標準AEM實例中 全球 模板控制台中已存在資料夾。 如果在當前資料夾中未找到策略和/或模板類型,則保留預設模板並充當回退。 您可以將預設模板添加到此資料夾或建立新資料夾(推薦)。
最好建立一個新資料夾來保存您的自定義模板,而不使用全局資料夾。
資料夾必須由用戶建立 admin
。
模板類型和策略按以下優先順序繼承到所有資料夾:
/conf/global
/apps
/libs
將建立所有允許條目的清單。 如果任何配置重疊( path
/ label
),只向用戶顯示最接近當前資料夾的實例。
要建立新資料夾,您可以執行以下操作:
可以以寫程式方式或使用CRXDE Lite為實例建立新資料夾(在/conf下)。
必須使用以下結構:
/conf
<your-folder-name> [sling:Folder]
settings [sling:Folder]
wcm [cq:Page]
templates [cq:Page]
policies [cq:Page]
然後,可以在資料夾根節點上定義以下屬性:
<your-folder-name> [sling:Folder]
名稱: jcr:title
類型: String
值:要顯示在 模板 控制台。
在 添加 到標準創作權限和權限(例如 content-authors
)現在需要分配組並定義所需的訪問權限(ACL),以便作者能夠在新資料夾中建立模板。
的 template-authors
group是需要分配的預設組。 請參閱以下部分 ACL和組 的雙曲餘切值。
請參閱 訪問權限管理 以獲取有關管理和分配訪問權限的完整詳細資訊。
轉到 全局導航 -> 工具 > 配置瀏覽器。
現有資料夾將列在左側,包括 全球 的子菜單。
按一下建立。
在 建立配置 對話框需要配置以下欄位:
按一下 建立
在「配置瀏覽器」中,可以編輯全局資料夾並激活 可編輯模板 的子菜單。
查看 配置瀏覽器 的子菜單。
建立模板資料夾(通過CRXDE或使用配置瀏覽器)後,必須為模板資料夾的相應組定義ACL,以確保適當的安全性。
的模板資料夾 We.零售參考實施 可以作為一個例子。
的 template-authors
group是用於管理對模板的訪問的組,它是標準的,AEM但為空。 必須將用戶添加到項目/站點的組。
的 template-authors
組 僅 用於必須能夠建立新模板的用戶。
編輯模板功能強大,如果不正確編輯,現有模板將被破壞。 因此,此角色應重點突出,並僅包括合格用戶。
下表詳細說明了模板編輯所需的權限。
路徑 | 角色/組 | 權限 |
說明 |
---|---|---|---|
/conf/<your-folder>/settings/wcm/templates |
模板作者 |
讀、寫、複製 | 在特定站點中建立、讀取、更新、刪除和複製模板的模板作者 /conf 空間 |
匿名Web用戶 | 讀 | 匿名Web用戶在呈現頁面時必須讀取模板 | |
內容作者 | 複製 | replicateContent作者在激活頁面時需要激活頁面的模板 | |
/conf/<your-folder>/settings/wcm/policies |
Template Author |
讀、寫、複製 | 在特定站點中建立、讀取、更新、刪除和複製模板的模板作者 /conf 空間 |
匿名Web用戶 | 讀 | 匿名Web用戶在呈現頁面時必須讀取策略 | |
內容作者 | 複製 | 激活頁面時,內容作者需要激活頁面模板的策略 | |
/conf/<site>/settings/template-types |
模板作者 | 讀 | 模板作者基於預定義模板類型之一建立新模板。 |
匿名Web用戶 | 無 | 匿名Web用戶不得訪問模板類型 |
此預設值 template-authors
組僅涵蓋項目設定,其中 template-authors
允許成員訪問和建立所有模板。 對於更複雜的設定,需要多個模板作者組才能分開訪問模板,必須建立更多自定義模板作者組。 但是,模板作者組的權限仍然相同。
模板不應再儲存在 /conf/global
但是,對於某些舊版安裝,此位置中可能仍有模板。 只有在此類遺留情況下,以下 /conf/global
路徑被顯式配置。
路徑 | 角色/組 | 權限 |
說明 |
---|---|---|---|
/conf/global/settings/wcm/templates |
模板作者 | 讀、寫、複製 | 建立、讀取、更新、刪除和複製模板的模板作者 /conf/global |
匿名Web用戶 | 讀 | 匿名Web用戶在呈現頁面時必須讀取模板 | |
內容作者 | 複製 | 激活頁面時,內容作者需要激活頁面的模板 | |
/conf/global/settings/wcm/policies |
Template Author |
讀、寫、複製 | 建立、讀取、更新、刪除和複製模板的模板作者 /conf/global |
匿名Web用戶 | 讀 | 匿名Web用戶在呈現頁面時必須讀取策略 | |
內容作者 | 複製 | 激活頁面時,內容作者需要激活頁面模板的策略 | |
/conf/global/settings/wcm/template-types |
模板作者 | 讀 | 模板作者基於預定義模板類型之一建立新模板 |
匿名Web用戶 | 無 | 匿名Web用戶不得訪問模板類型 |
建立新模板時,需要指定模板類型:
模板類型有效地為模板提供模板。 建立新模板時,所選模板類型的結構和初始內容將用於建立新模板。
模板類型允許您定義:
提AEM供了一些現成的模板類型選擇,如「HTML5頁」和「自適應表單頁」。
模板類型通常由開發人員定義。
現成模板類型儲存在以下位置:
/libs/settings/wcm/template-types
您不能更改 /libs
路徑。 這是因為 /libs
在下次升級實例時被覆蓋(在應用修補程式或功能包時可能被覆蓋)。
您的站點特定模板類型應儲存在以下可比位置:
/apps/settings/wcm/template-types
自定義模板類型的定義應儲存在用戶定義的資料夾中(建議),或儲存在 global
。 例如:
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/template-types
/conf/<my-folder>/settings/wcm/template-types
/conf/global/settings/wcm/template-types
模板類型必須尊重正確的資料夾結構(即 /settings/wcm/...
),否則找不到模板類型。
的 設備組 用於可編輯模板(設定為屬性的相對路徑) cq:deviceGroups
)定義哪些移動設備可用作 佈局模式 頁面創作。 此值可以設定為兩個位置:
建立新可編輯模板時,值將從模板類型複製到單個模板。 如果未在類型上設定值,則可以在模板上設定該值。 建立模板後,將不會繼承類型到模板。
值 cq:deviceGroups
必須設定為相對路徑,如 mobile/groups/responsive
而不是絕對路徑,例如 /etc/mobile/groups/responsive
。
與 靜態模板的 cq:deviceGroups
可以設定在站點的根部。
對於可編輯的模板,此值現在儲存在模板級別,在頁面根級別不受支援。
如果已建立可作為其他模板基礎的模板,則可以將此模板複製為模板類型。
templates
節點到 template-types
節點 模板資料夾。templates
節點 模板資料夾。template-types
節點,刪除所有 cq:template
和 cq:templateType
jcr:content
屬性。您還可以使用GitHub上提供的示例可編輯模板作為基礎來開發自己的模板類型。
GITHUB代碼
可以在GitHub上找到此頁的代碼
儲存可編輯模板的定義 用戶定義的資料夾 (推薦)或 global
。 例如:
/conf/<my-folder>/settings/wcm/templates
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/templates
/conf/global/settings/wcm/templates
模板的根節點的類型 cq:Template
骨架結構為:
<template-name>
initial
jcr:content
root
<component>
...
<component>
jcr:content
@property status
policies
jcr:content
root
@property cq:policy
<component>
@property cq:policy
...
<component>
@property cq:policy
structure
jcr:content
root
<component>
...
<component>
cq:responsive
breakpoints
thumbnail.png
主要內容有:
<template-name>
[initial](#initial-content)
jcr:content
[structure](#structure)
[policies](#policies)
thumbnail.png
此節點保存模板的屬性:
名稱: jcr:title
名稱: status
類型: String
值: draft
。 enabled
或 disabled
定義結果頁的結構:
與初始內容合併( /initial
)。
對結構所做的更改將反映在使用模板建立的任何頁面中。
的 root
( structure/jcr:content/root
)節點定義將在生成頁面中可用的元件清單。
在模板結構中定義的元件不能移動或從任何結果頁面中刪除。
一旦元件解鎖, editable
屬性設定為 true
。
一旦解除鎖定已包含內容的元件,此內容將移動到 initial
分支。
的 cq:responsive
節點保存響應佈局的定義。
定義新頁面在建立時將具有的初始內容:
jcr:content
複製到任何新頁面的節點。/structure
)。root
節點包含元件清單,以定義生成頁中可用的元件。當 編輯可定義佈局的模板,使用 標準響應佈局 也可以 配置。
內容(或設計)策略定義元件的設計屬性。 例如,可用元件或最小/最大尺寸。 這些模板(以及使用模板建立的頁面)適用。 可以在模板編輯器中建立和選擇內容策略。
屬性 cq:policy
的 root
節點
/conf/<your-folder>/settings/wcm/templates/<your-template>/policies/jcr:content/root
為頁面的段落系統提供對內容策略的相對引用。
屬性 cq:policy
,在下的元件顯式節點上 root
,提供指向各個元件的策略的連結。
實際策略定義儲存在:
/conf/<your-folder>/settings/wcm/policies/wcm/foundation/components
策略定義的路徑取決於元件的路徑。 cq:policy
保存對配置本身的相對引用。
根據可編輯模板建立的頁面不會在頁面編輯器中提供「設計」模式。
的 policies
可編輯模板的樹與靜態模板的設計模式配置具有相同的層次結構,位於:
/etc/designs/<my-site>/jcr:content/<component-name>
每個頁面元件定義了靜態模板的設計模式配置。
頁面策略允許您定義 內容策略 在模板或結果頁中。
啟用模板
必須通過以下任一方法啟用模板,才能使用模板:
啟用模板 從 模板 控制台。
在 jcr:content
的下界。
例如,在:
/conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
定義屬性:
enabled
允許的範本
在上定義允許的模板路徑 頁面屬性 子分支的相應頁面或根頁面。
設定屬性:
cq:allowedTemplates
在
jcr:content
所需分支的節點。
例如,值為:
/conf/<your-folder>/settings/wcm/templates/.*
根據可編輯模板建立的頁面:
使用合併自的子樹建立 structure
和 initial
中
對模板和模板類型中保存的資訊有引用。 這是通過 jcr:content
具有以下屬性的節點:
cq:template
提供對實際模板的動態引用;允許對模板的更改反映在實際頁面上。
cq:templateType
提供對模板類型的引用。
上圖顯示了模板、內容和元件如何相互關聯:
控制器 — /content/<my-site>/<my-page>
引用模板的結果頁。 內容控制整個過程。 根據定義,它訪問相應的模板和元件。
配置 — /conf/<my-folder>/settings/wcm/templates/<my-template>
的 模板和相關內容策略 定義頁面配置。
型號 — OSGi捆綁 OSGI捆綁 實現功能。
視圖 — /apps/<my-site>/components
在作者和發佈環境中,內容由 元件。
呈現頁面時:
範本:
cq:template
其財產 jcr:content
將引用節點以訪問與該頁對應的模板。元件:
頁面元件將合併 structure/jcr:content
模板樹 jcr:content
樹。
頁面元件將僅允許作者編輯已標籤為可編輯的模板結構的節點(以及任何子級)。
在頁面上呈現元件時,該元件的相對路徑將從 jcr:content
節點;同一條路 policies/jcr:content
然後將搜索模板的節點。
的 cq:policy
此節點的屬性指向實際內容策略(即它包含該元件的設計配置)。
這樣,您就可以擁有多個模板,這些模板可以重新使用相同的內容策略配置。