内容片段配置用于渲染的组件

有几个与内容片段的呈现相关的高级服务。 要使用这些服务,此类组件的资源类型必须在内容片段框架中知晓自己。

这是通过配置OSGi服务 — 内容片段组件配置来完成的。

以下情况需要提供此信息:

  • 您需要实施您自己的基于内容片段的组件,
  • 需要利用先进的服务。

建议使用核心组件。

注意
  • 如果您不需要下面描述 的高 级服务,则可以忽略此配置。

  • 扩展或使用现成组件时,不建议更改OSGi配置。

  • 您可以从头开始编写仅使用内容片段API的组件,而无需任何高级服务。但是,在这种情况下,您必须开发组件,以便它处理相应的处理。

因此,建议使用核心组件。

需要配置的高级服务的定义

需要注册组件的服务包括:

  • 在发布期间正确确定依赖项(即,如果片段和模型自上次发布后发生更改,则可以随页面自动发布它们)。
  • 支持全文搜索中的内容片段。
  • 对中间内容​的管理/处理。
  • 混合媒体资产的管理/处理。
  • 引用片段的调度程序刷新(如果包含片段的页面被重新发布)。
  • 使用基于段落的渲染。

如果您需要其中一个或多个功能,则(通常)使用现成的高级服务会比较容易,而不是从头开始开发。

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"

在此页面上