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