有几个 高级服务 与内容片段的呈现相关。 要使用这些服务,必须使内容片段框架知道这些组件的资源类型。
这可以通过配置 OSGi服务 — 内容片段组件配置.
如果您不需要 高级服务 如下所述,您可以忽略此配置。
在扩展或使用现成组件时,不建议更改配置。
您可以从头开始编写仅使用内容片段API的组件,而无需使用高级服务。 但是,在这种情况下,您必须开发组件,以便它处理相应的处理。
因此,建议使用核心组件。
需要注册组件的服务包括:
如果您需要这些功能中的一个或多个功能,则(通常)使用现成功能比从头开始开发更容易。
配置需要绑定到OSGi服务 内容片段组件配置:
com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl
请参阅 配置OSGi 以了解更多详细信息。
例如:
OSGi配置为:
标签 | OSGi 配置 |
描述 |
资源类型 | dam.cfm.component.resourceType |
要注册的资源类型;例如,
|
引用属性 | dam.cfm.component.fileReferenceProp |
包含片段引用的属性的名称;例如, fragmentPath 或 fileReference |
元素属性 | dam.cfm.component.elementsProp |
包含要呈现的元素名称的属性的名称;例如,elementName |
变量属性 |
dam.cfm.component.variationProp |
包含要呈现的变量的名称的属性的名称;例如,variationName |
对于某些功能(例如,仅呈现段落范围),您必须遵守某些约定:
属性名称 | 描述 |
paragraphRange |
一个字符串属性,定义在中要输出的段落范围 单元素渲染模式. 格式:
|
paragraphScope |
一个字符串属性,定义在中时如何输出段落 单元素渲染模式. 值:
|
paragraphHeadings |
一个布尔属性,定义标题(例如, h1 , h2 , h3 )将被计算为段落(true )或不是(false ) |
这可能在6.5以后的里程碑中发生变化。
例如,请参阅以下内容(在现成的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"