內容片段的元件

編寫片段的元件

注意

建議不要擴充或變更片段編輯器中使用的實際元件,因為這些元件仍有可能變更。

請參閱內容片段管理API —— 用戶端

頁面編寫元件

注意

現在建議使用內容片段核心元件。 如需詳細資訊,請參閱開發核心元件

本節詳細說明傳送的原始元件,以便與​General​群組中的內容片段(Content Fragment)搭配使用。

注意

如需詳細資訊,請參閱內容片段設定轉換元件

Adobe Experience Manager(AEM)內容片段會建 立並管理為不受頁面影響的資產。它們可讓您建立不受頻道影響的內容,以及(可能是特定頻道的)變化。 然後,您可以在編寫內容頁面時使用這些片段及其變化。您也可以使用現有的內容片段資產,方法是將資產從資產瀏覽器拖曳至頁面(至於其他以資產為基礎的元件,例如基礎元件影像)。 現成的內容片段元件只顯示參考內容片段的一個元素。 使用元件對話框,可以定義要在頁面上顯示的元素、變化和片段段落範圍。

注意

此內容片段元件是在AEM 6.2中以增強版Article元件的形式引進,已過時。

注意

傳統UI不支援內容片段。

定義

該​內容片段​元件用於保存對內容片段資產的引用(有效增強的文本資產)。 內容片段的資源類型為:

dam/cfm/components/contentfragment/contentfragment

引用在屬性中定義:

fileReference

只有觸控式UI的編輯器完全支援內容片段元件,其中包含用戶端程式庫:

cq.authoring.editor.plugin.cfm

此程式庫會將內容片段的特定功能新增至編輯器。 例如,支援在頁面上新增和設定內容片段、在資產瀏覽器中搜尋內容片段資產以及在側面板中搜尋相關內容。

內容之間

內容片段 t元件允許您在顯示的元素的不同段落之間放置其他元件。 基本上,顯示的元素由不同段落組成(每個段落標有回車符)。 在每個段落之間,您可以使用其他元件插入內容。

從技術角度看,顯示的元素* *的每個段落都以其自己的parsys為生,而您在段落之間添加的每個元件都將(在外罩下)插入parsys中。

換言之,如果內容片段元件的實例由三個段落組成,則該元件在儲存庫中將有三個不同的段落。 新增至內容片段的所有中間內容實際上都位於這些參數中。

在儲存庫中,中間內容相對於其在整體段落結構內的位置被儲存,即它不附加到實際段落內容。

為了說明這一點,我們考慮一下:

  • 由三個段落組成的內容片段實例

  • 第二段之後已經插入了一些內容

    • 這表示內容將儲存在第二個參數中。

基本上,如果此實例的段落結構改變(通過更改顯示的段落的變化、元素或範圍),則可能影響內容片段內容時顯示的中間內容:

  • 已編輯,並在第二段前加入另一段:

    • 中間內容將顯示在新建立的段落之後(第二個段落現在保留新建立的段落)。
  • 已編輯,並移除第二段:

    • 中間內容將顯示在先前是第三個段落的段落之後(第二個段落現在保留上一個第三個段落)。
  • 已設定為只顯示第一個段落:

    • 不會顯示中間內容(第二個參數因新配置而不再呈現)。

自訂內容片段元件

若要將現成可用的內容片段元件當做擴充藍圖,您應遵守下列合約:

  • 重複使用HTL轉換指令碼及其相關的POJO,以檢視如何實作內容介入功能。

  • 重複使用內容片段節點:cq:editConfig

    • afterinsert/ afteredit/ afterdelete監聽器用於觸發JS事件。 這些事件將在cq.authoring.editor.plugin.cfm用戶端程式庫中處理,以便在側面板中顯示相關內容。
    • cq:dropTargets已設定為支援拖曳內容片段資產。
    • cq:inplaceEditing 已設定為支援在頁面編輯器中編寫內容片段。片段就地編輯器定義在cq.authoring.editor.plugin.cfm客戶端庫中,並允許快速連結在片段編輯器中開啟當前元素/變化

演算前的資產重寫

「內容片段管理」使用內部轉換程式來產生頁面的最終HTML輸出。 這由「內容片段」元件內部使用,也由更新參考頁面上參考片段的背景程式使用。

在內部,Sling Rewriter會用於該演算。 在/libs/dam/config/rewriter/cfm中找到相應的配置,並可根據需要進行調整。 如需詳細資訊,請參閱Apache Sling Rewriter

現成配置使用以下變壓器:

  • transformer-cfm-payloadfilter -僅用於 body 檢索片段 <body>...</body>HTML的部件()

  • transformer-cfm-parfilter -如果指定段落範圍,則過濾掉不要的段落(如「內容片段」元件所做)

  • transformer-cfm-assetprocessor -用於內部檢索嵌入在片段中的資產清單

演算程式透過com.adobe.cq.dam.cfm.content.FragmentRenderService公開,並可視需要由自訂元件來運用(例如)。

本頁內容