第4章 — 定義內容服務範本

AEM Headless教學課程的第4章涵蓋AEM可編輯範本在AEM Content Services內容中的角色。 可編輯的範本可用來定義AEM Content Services透過組成已啟用Content Services的AEM元件而公開給用戶端的JSON內容結構。

了解範本在AEM Content Services中的角色

AEM可編輯的範本可用來定義將被存取以將事件內容公開為JSON的HTTP端點。

傳統上,AEM可編輯範本是用來定義網頁,但此用途只是慣例。 可編輯的範本可用來撰寫​任何​內容集;如何存取該內容:瀏覽器中的HTML、JavaScript(AEM SPA編輯器)使用的JSON或行動應用程式是請求該頁面的方式的函式。

在AEM Content Services中,可編輯的範本可用來定義JSON資料公開的方式。

對於WKND Mobile應用程式,我們將建立單一可編輯範本,以用於驅動單一API端點。 雖然此範例可簡單說明AEM Headless的概念,但您可以分別建立多個頁面(或端點),以顯示不同的內容集,以建立更複雜且組織更妥善的API。

了解API端點

若要了解如何組成API端點,並了解應向WKND Mobile應用程式公開哪些內容,請讓我們重新審視設計。

事件API頁面分解

如我們所見,我們有三組邏輯內容可提供給行動應用程式。

  1. 標誌
  2. 標籤行
  3. Events​的清單

若要這麼做,我們可以將這些需求對應至AEM元件(在我們的案例中為AEM WCM核心元件),以將必要的內容公開為JSON。

  1. 標誌​將通過​影像元件​呈現
  2. 標籤行​將通過​文本元件​呈現
  3. 事件​的清單將通過​內容片段清單元件​呈現,該元件又引用一組事件內容片段。
注意

若要支援AEM內容服務的JSON匯出頁面和元件,頁面和元件必須​衍生自AEM WCM核心元件

AEM WCM核心元 件提供內建功能,支援匯出頁面和元件的標準化JSON結構描述。本教學課程中使用的所有WKND Mobile元件(頁面、影像、文字和內容片段清單)皆衍生自AEM WCM核心元件。

定義事件API範本

  1. 導覽至​工具 > 一般 > 範本 >WKND Mobile

  2. 建立​Events API​範本:

    1. 點選頂端動作列中的​建立
    2. 選擇​WKND Mobile - Empty Page​模板
    3. 點選頂端動作列中的​Next
    4. 在範本標題欄位中輸入​Events API
    5. 點選頂端動作列中的​建立
    6. 點選​開啟​開啟新範本以進行編輯
  3. 首先,我們允許我們需要的三個已識別的AEM元件通過編輯根配置容器的Policy來模型內容。 確保​Structure​模式處於活動狀態,選擇​Layout Container [Root],然後點選​Policy​按鈕。

  4. 在「屬性 > 允許的元件」下搜索​WKND Mobile。 允許從WKND Mobile元件組中使用以下元件,以便在Events API頁上使用。

    • WKND Mobile > Image

      • 應用程式的標誌
    • WKND Mobile > Text

      • 應用程式的介紹文本
    • WKND Mobile > Content Fragment List

      • 可在應用程式中顯示的事件類別清單
  5. 完成後,點選右上角的​Done​勾選記號。

  6. ​重新整理瀏覽器視窗,以在左 側 邊欄中查看新的允許元件清單。

  7. 從左側邊欄的「元件尋找器」中,拖曳下列AEM元件:

    1. Image 標誌
    2. Text 標籤行
    3. Content Fragment List 針對事件
  8. 對於上述各元件,選取它們並按解鎖 ​按鈕。

  9. 不過,請確定​版面容器​為​已鎖定,以防止新增其他元件或移除這三個元件。

  10. 點選​頁面資訊 > 在管理員​中檢視,以返回WKND Mobile範本清單。 選取新建立的​Events API​範本,然後點選頂端動作列中的​啟用

注意

請注意,用於呈現內容的元件將添加到「模板」(Template)本身並鎖定。 這可讓作者編輯預先定義的元件,但不能任意新增或移除元件,因為變更API本身可能會破壞JSON結構的假設,並破壞使用中的應用程式。 所有API都必須穩定。

後續步驟

選擇性地,透過AEM Package Manager在AEM作者上安裝com.adobe.aem.guides.wknd-mobile.content.chapter-4.zip內容套件。 此套件包含本教學課程及前幾章中概述的設定和內容。

本頁內容