Show Menu
主題×

內容片段設定要轉譯的元件

有數項進 階服務 ,與轉換內容片段相關。 要使用這些服務,此類元件的資源類型必須使內容片段框架自己知道。
在下列情況下,需要此資訊:
  • 您需要實作您自己的內容片段元件,
  • 需要運用進階服務。
建議使用核心元件。
  • 如果您不需要下面所述 的進階服務 ,則可忽略此設定。
  • 當您擴充或使用現成可用的元件時 ,不建議您變更OSGi組態。
  • 您只能從頭開始編寫僅使用「內容片段API」的元件,毋需進階服務 。 不過,在這種情況下,您必須開發元件,以便處理適當的處理。
因此,建議使用核心元件。

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

需要註冊元件的服務包括:
  • 在發佈期間正確判斷相依性(即,如果片段和模型自上次發佈後已變更,請確定它們可自動與頁面一起發佈)。
  • 支援全文搜尋的內容片段。
  • 管理/處理 中間內容。
  • 管理/處理混 合媒體資產。
  • Dispatcher flush for referenced fragments(if a page containing a fragment is re-published)。
  • 使用段落式演算。
如果您需要其中一項或多項功能,則(通常)使用現成可用的進階服務會比較容易,而不是從頭開發。

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

配置需要綁定到OSGi服務內 容片段元件配置 :
com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl
如需詳 細資訊,請參閱 OSGi設定。
例如:
OSGi配置為:
標籤 OSGi配置 說明
資源類型 dam.cfm.component.resourceType 要註冊的資源類型;例如,
core/wcm/components/contentfragment/v1/contentfragment
參考屬性 dam.cfm.component.fileReferenceProp 包含對片段的引用的屬性的名稱;例如 fragmentPath fileReference
元素屬性 dam.cfm.component.elementsProp 包含要渲染的元素名稱的屬性的名稱;例如, elementName
變數屬性 dam.cfm.component.variationProp 包含要呈現的變數名稱的屬性名稱;例如, variationName
對於某些功能,您的元件必須遵循預先定義的慣例。 下表詳細說明了元件需要為每個段落(即每個元件實例)定義的屬性,以便服務能夠正確檢測和處理這些屬性 jcr:paragraph
屬性名稱 說明
paragraphScope
字串屬性,定義在單一元素演算模式下如何輸 出段落
值:
  • all :來呈現所有段落
  • range :來轉換 paragraphRange
paragraphRange
字串屬性,定義在單一元素演算模式中要輸出的 段落範圍
格式:
  • 1 1-3 1-3;6;7-8 *-3;5-*
    • - 範圍指示符
    • ; 清單分隔符
    • * 通配符
  • 只有設為 paragraphScope 時才會評估 range
paragraphHeadings 一種布林屬性,定義標題( h1 例如 h2 , h3 ,)是否計為段落( 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"