Show Menu
TEMAS×

Componentes para fragmentos de contenido

Componentes para la creación de fragmentos

No se recomienda ampliar o cambiar los componentes reales utilizados en el Editor de fragmentos, ya que siguen sujetos a cambios.
Consulte la API de administración de fragmentos de contenido - Cliente .

Componentes para la creación de páginas

Ahora se recomienda el componente principal del fragmento de contenido. Consulte Desarrollo de componentes principales para obtener más detalles.
En esta sección se detalla el componente original entregado para su uso con fragmentos de contenido (Fragmento de contenido en el grupo General ).
Consulte también Fragmentos de contenido Configuración de componentes para procesamiento para obtener más información.
Los fragmentos de contenido de Adobe Experience Manager (AEM) se crean y administran como recursos independientes de la página . Permiten crear contenido neutro con respecto al canal, así como variaciones (posiblemente específicas del canal). Después se pueden usar estos fragmentos, y sus variaciones, al crear páginas de contenido . También puede utilizar un recurso de fragmento de contenido existente arrastrándolo desde el navegador de recursos a la página (como en el caso de otros componentes basados en recursos, como la imagen del componente base). El componente de fragmento de contenido incorporado solo muestra un elemento del fragmento de contenido al que se hace referencia. Con el cuadro de diálogo de componentes puede definir el elemento, la variación y el rango de párrafos de fragmento que desea mostrar en la página.
Este componente de fragmento de contenido se introdujo en AEM 6.2 como una versión mejorada del componente de artículo, que ha quedado obsoleto.
Los fragmentos de contenido no son compatibles con la IU clásica.

Definición

El componente Fragmento de contenido se utiliza para incluir una referencia a un recurso de fragmento de contenido (recursos de texto mejorados de forma efectiva). El tipo de recurso para el fragmento de contenido es:
dam/cfm/components/contentfragment/contentfragment
La referencia se define en la propiedad:
fileReference
Solo el editor de la IU táctil admite totalmente los componentes de fragmento de contenido, que incluye la biblioteca del cliente:
cq.authoring.editor.plugin.cfm
Esta biblioteca agrega al editor funciones específicas de los fragmentos de contenido. Por ejemplo, está disponible la compatibilidad con la capacidad de agregar y configurar fragmentos de contenido en la página, la capacidad de buscar recursos de fragmentos de contenido en el navegador de recursos y el contenido asociado en el panel lateral.

Contenido intermedio

El componente Fragmento de contenido le permite soltar componentes adicionales entre los distintos párrafos del elemento mostrado. Básicamente, el elemento mostrado está compuesto de diferentes párrafos (cada párrafo está marcado por un retorno de carro). Entre cada uno de estos párrafos, puede insertar contenido con otros componentes.
Desde un punto de vista técnico, cada párrafo del elemento mostrado* *reside en su propio parsys y cada componente que agregue entre los párrafos se insertará (debajo del capó) en el parsys.
En otras palabras, si la instancia del componente de fragmento de contenido está compuesta por tres párrafos, el componente tendrá tres parámetros diferentes en el repositorio. Todo el contenido intermedio que se agrega al fragmento de contenido se encuentra en realidad dentro de estos parámetros.
En el repositorio, el contenido intermedio se almacena en relación con su posición dentro de la estructura general de párrafo, es decir, no está adjunto al contenido real del párrafo.
Para ilustrarlo, consideremos que tenemos:
  • Instancia de un fragmento de contenido compuesto por tres párrafos
  • Y que ya se ha insertado algún contenido después del segundo párrafo
    • Esto significa que el contenido se almacenará en el segundo parámetro.
Básicamente, si cambia la estructura de párrafo de esta instancia (cambiando la variación, elemento o rango de párrafos mostrados), podría afectar al contenido intermedio que se muestra cuando el contenido del fragmento de contenido:
  • Se edita y se agrega otro párrafo antes del segundo párrafo:
    • El contenido intermedio se mostrará después del párrafo recién creado (el segundo parámetro ahora contiene el párrafo recién creado).
  • Se edita y se elimina el segundo párrafo:
    • El contenido intermedio se mostrará después del párrafo que anteriormente era el tercero (el segundo parámetro ahora contiene el tercer párrafo anterior).
  • Está configurado para que solo se muestre el primer párrafo:
    • El contenido intermedio no se mostrará (el segundo parsys ya no se procesa debido a la nueva configuración).

Personalización del componente Fragmento de contenido

Para utilizar el componente de fragmento de contenido incorporado como modelo de extensión, debe respetar el siguiente contrato:
  • Vuelva a utilizar la secuencia de comandos de procesamiento HTL y su POJO asociado para ver cómo se implementa la función de contenido intermedio.
  • Reutilice el nodo de fragmento de contenido: cq:editConfig
    • Los oyentes afterinsert / afteredit / afterdelete se utilizan para activar eventos JS. Estos eventos se gestionarán en la biblioteca del cq.authoring.editor.plugin.cfm cliente para mostrar el contenido asociado en el panel lateral.
    • Los cq:dropTargets están configurados para admitir la posibilidad de arrastrar recursos de fragmentos de contenido.
    • cq:inplaceEditing está configurado para admitir la creación de un fragmento de contenido en el editor de páginas. El editor in-situ de fragmentos se define en la biblioteca del cq.authoring.editor.plugin.cfm cliente y permite un vínculo rápido para abrir el elemento/variación actual en el editor de fragmentos.

Reescritura de recursos antes de procesar

La Administración de fragmentos de contenido utiliza un proceso de procesamiento interno para generar el resultado HTML final de una página. Esto lo utiliza internamente el componente Fragmento de contenido, pero también el proceso en segundo plano que actualiza los fragmentos a los que se hace referencia en las páginas de referencia.
Internamente, el reescritor de Sling se utiliza para esa representación. La configuración respectiva se encuentra en /libs/dam/config/rewriter/cfm y se puede ajustar si es necesario. Consulte Apache Sling Rewriter para obtener más información.
La configuración lista para usar utiliza los siguientes transformadores:
  • transformer-cfm-payloadfilter - solo para recuperar la parte body ( <body>...</body> ) del HTML del fragmento
  • transformer-cfm-parfilter - filtros los párrafos no deseados si se especifica un intervalo de párrafos (como se puede hacer con el componente Fragmento de contenido)
  • transformer-cfm-assetprocessor - se utiliza internamente para recuperar una lista de los recursos incrustados en el fragmento
El proceso de procesamiento se expone mediante com.adobe.cq.dam.cfm.content.FragmentRenderService y, si es necesario, se puede aprovechar (por ejemplo) mediante componentes personalizados.