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

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

这是通过配置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
元素属性 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"

On this page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now