轉譯專用內容片段設定元件

有幾個 高級服務 與內容片段的呈現相關。 要使用這些服務,此類元件的資源類型必須使內容片段框架知道它們本身。

通過配置 OSGi服務 — 內容片段元件配置

在以下情況下需要此資訊:

  • 您需要實施您自己的基於內容片段的元件,
  • 需要利用先進服務。

建議使用核心元件。

注意
  • 如果你不需要 高級服務 如下所述,您可以忽略此配置。

  • 擴展或使用出廠設定元件時,建議不要更改OSGi配置。

  • 您可以從頭開始編寫僅使用內容片段API的元件,但不提供高級服務。 但是,在這種情況下,您必須開發元件,以便處理相應的處理。

因此,建議使用核心元件。

需要配置的高級服務的定義

需要註冊元件的服務包括:

  • 正確確定發佈期間的依賴關係(即,如果碎片和模型自上次發佈後發生更改,則可以隨頁面自動發佈它們)。
  • 支援全文搜索中的內容片段。
  • 管理/處理 內容。
  • 管理/處理 混合媒體資產。
  • 引用片段的Dispatcher刷新(如果包含片段的頁被重新發佈)。
  • 使用基於段落的渲染。

如果您需要這些功能中的一個或多個,則(通常)使用現成的高級服務會更容易,而不是從頭開始開發。

OSGi服務 — 內容片段元件配置

配置需要綁定到OSGi服務 內容片段元件配置:

com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl

注意

請參閱 OSGi配置 的上界。

例如:

OSGi配置內容片段元件配置

OSGi配置為:

標籤 OSGi配置
說明
資源類型 dam.cfm.component.resourceType 要註冊的資源類型;例如

core/wcm/components/contentfragment/v1/contentfragment

引用屬性 dam.cfm.component.fileReferenceProp 包含對片段的引用的屬性的名稱;例如 fragmentPathfileReference
元素屬性 dam.cfm.component.elementsProp 包含要呈現的元素名稱的屬性的名稱;例如elementName
變數屬性
dam.cfm.component.variationProp 包含要呈現的變體名稱的屬性的名稱;例如variationName

對於某些功能,您的元件必須遵守預定義的約定。 下表詳細說明了每個段落需要由元件定義的屬性(即 jcr:paragraph 使服務能夠正確檢測和處理它們。

屬性名稱 說明
paragraphScope

一個字串屬性,它定義在中時如何輸出段落 單元渲染模式

值:

  • all :呈現所有段落
  • range :呈現由 paragraphRange
paragraphRange

一個字串屬性,它定義要輸出的段落範圍(如果在) 單元渲染模式

格式:

  • 11-31-3;6;7-8*-3;5-*
    • - 範圍指示器
    • ; 清單分隔符
    • * 通配符
  • 僅計算 paragraphScope 設定為 range
paragraphHeadings 一個布爾屬性,它定義標題(例如, h1h2h3)作為段落(true)或不(false)

範例

作為示例,請參見以下(在現成實例上AEM):

/apps/core/wcm/config/com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl-core-comp-v1.config

這包括:

dam.cfm.component.resourceType="core/wcm/components/contentfragment/v1/contentfragment"
dam.cfm.component.fileReferenceProp="fragmentPath"
dam.cfm.component.elementsProp="elementName"
dam.cfm.component.variationProp="variationName"

本頁內容