有几个与内容片段的呈现相关的高级服务。 要使用这些服务,此类组件的资源类型必须使内容片段框架知道自己。
这是通过配置OSGi服务——内容片段组件配置来完成的。
在以下情况下需要此信息:
建议使用核心组件。
如果您不需要下面描 述的 高级服务,可以忽略此配置。
当您扩展或使用现成组件时,不建议更改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 |
对于某些功能,您的组件必须遵守预定义的约定。 下表详细列出了每个段落(即,jcr:paragraph
(每个组件实例),以便服务能够正确检测和处理它们。
属性名称 | 描述 |
paragraphScope |
一个字符串属性,它定义在单元素渲染模式中如何输出段落。 值:
|
paragraphRange |
一个字符串属性,它定义在单元素渲染模式中要输出的段落范围。 格式:
|
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"