Fragmentos de contenido Configurar componentes para procesamiento content-fragments-configuring-components-for-rendering
Hay varios servicios avanzados relacionado con la renderización de fragmentos de contenido. Para utilizar estos servicios, los tipos de recurso de dichos componentes deben darse a conocer al marco de trabajo de fragmentos de contenido.
Esto se hace configurando la variable Servicio OSGi: configuración del componente Fragmento de contenido.
Esta información es necesaria cuando:
- Debe implementar su propio componente basado en fragmentos de contenido,
- Y necesita usar los servicios avanzados.
El Adobe recomienda utilizar los componentes principales.
-
Si no necesita el servicios avanzados Como se describe a continuación, puede ignorar esta configuración.
-
Al ampliar o utilizar los componentes predeterminados de la aplicación Sin embargo, no se recomienda cambiar la configuración de OSGi.
-
Puede escribir un componente desde cero que utilice solo la API de fragmentos de contenido, sin servicios avanzados. Sin embargo, en tal caso, deberá desarrollar el componente para que se ocupe del procesamiento adecuado.
Definición de servicios avanzados que necesitan configuración definition-of-advanced-services-that-need-configuration
Los servicios que requieren el registro de un componente son:
- Determinar correctamente las dependencias durante la publicación (es decir, asegurarse de que los fragmentos y modelos se puedan publicar automáticamente con una página si han cambiado desde la última publicación).
- Compatibilidad con fragmentos de contenido en la búsqueda de texto completo.
- La gestión/gestión de contenido intermedio.
- La gestión/gestión de recursos de medios mixtos.
- Vaciar Dispatcher para fragmentos a los que se hace referencia (si se vuelve a publicar una página que contiene un fragmento).
- Uso de la renderización basada en párrafos.
Si necesita una o más de estas funciones, (por lo general) es más fácil utilizar los Servicios avanzados predeterminados, en lugar de desarrollarlos desde cero.
Servicio OSGi: configuración del componente Fragmento de contenido osgi-service-content-fragment-component-configuration
La configuración debe estar enlazada al servicio OSGi Configuración del componente Fragmento de contenido:
com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl
Por ejemplo:
La configuración de OSGi es:
dam.cfm.component.resourceType
El tipo de recurso que se va a registrar; por ejemplo,
core/wcm/components/contentfragment/v1/contentfragment
dam.cfm.component.fileReferenceProp
fragmentPath
o fileReference
dam.cfm.component.elementsProp
elementName
dam.cfm.component.variationProp
variationName
Para algunas funciones, el componente deberá adherirse a las convenciones predefinidas. La siguiente tabla detalla las propiedades que debe definir el componente para cada párrafo (es decir, jcr:paragraph
para cada instancia de componente) para que los servicios puedan detectarlos y procesarlos correctamente.
paragraphScope
Una propiedad de cadena que define cómo se van a generar los párrafos si en modo de procesamiento de elemento único.
Valores:
all
: para procesar todos los párrafosrange
: para representar el intervalo de párrafos proporcionado porparagraphRange
paragraphRange
Una propiedad de cadena que define el intervalo de párrafos de salida si en modo de procesamiento de elemento único.
Formato:
-
1
o1-3
o1-3;6;7-8
o*-3;5-*
-
indicador de rango;
separador de listas*
comodín
-
solo se evalúa si
paragraphScope
se establece enrange
paragraphHeadings
h1
, h2
, h3
) se cuentan como párrafos (true
) o no (false
)Ejemplos example
AEM Por ejemplo, consulte lo siguiente (en una instancia de aplicación predeterminada de la interfaz de usuario de la interfaz de usuario de la aplicación de configuración de la aplicación de configuración de la aplicación de configuración de la aplicación):
/apps/core/wcm/config/com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl-core-comp-v1.config
Contiene lo siguiente:
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"