Show Menu
主题×

内容片段配置要渲染的组件

有几个与 内容片段的呈现 相关的高级服务。 要使用这些服务,此类组件的资源类型必须使内容片段框架知道自己。
以下情况下需要此信息:
  • 您需要实现您自己的基于内容片段的组件,
  • 需要利用先进的服务。
建议使用核心组件。
  • 如果您不需要下面介绍 的高级服务 ,则可以忽略此配置。
  • 当您扩展或使用现成组件时 ,不建议更改OSGi配置。
  • 您可以从头开始编写一个仅使用内容片段API的组件,而无需高级服务 。 但是,在这种情况下,您必须开发组件,以便它处理相应的处理。
因此,建议使用核心组件。

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

需要注册组件的服务包括:
  • 在发布过程中正确确定依赖关系(即,如果片段和模型自上次发布后发生更改,则可以自动与页面一起发布)。
  • 全文搜索中支持内容片段。
  • 中间内容的 管理/处理。
  • 管理/处理混 合媒体资产。
  • 针对引用片段的调度程序刷新(如果包含片段的页面被重新发布)。
  • 使用基于段落的渲染。
如果您需要这些功能中的一个或多个,那么(通常)使用现成的高级服务会更简单,而不是从头开始开发。

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"