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

有幾個與內容片段呈現相關的進階服務。 若要使用這些服務,此類元件的資源類型必須讓內容片段架構知道。

這可透過設定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
Element(s)屬性 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"

本頁內容