有几个与内容片段的呈现相关的高级服务。 要使用这些服务,此类组件的资源类型必须使内容片段框架知道自己。
这是通过配置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"