Show Menu
SUJETS×

Fragments de contenu – Configuration des composants pour le rendu

Il existe plusieurs services avancés liés au rendu des fragments de contenu. Pour l’utilisation de ces services, les types de ressources de ces composants doivent être connus de la structure de fragments de contenu.
Ces informations sont requises dans les cas suivants :
  • Vous devez mettre en œuvre votre propre composant basé sur les fragments de contenu.
  • Vous devez utiliser les services avancés.
Il est recommandé d’utiliser les composants principaux.
  • **Si vous n’avez pas besoin des services avancés **décrits ci-dessous, vous pouvez ignorer cette configuration.
  • Lorsque vous étendez ou utilisez les composants prêts à l’emploi , il n’est pas recommandé de modifier la configuration OSGi.
  • Vous pouvez créer de A à Z un composant n’utilisant que l’API de fragments de contenu, sans services avancés . Cependant, dans ce cas, vous devrez développer votre composant de sorte qu’il traite le traitement approprié.
Il est donc recommandé d’utiliser les composants principaux.

Définition des services avancés nécessitant une configuration

Les services qui nécessitent l’enregistrement d’un composant sont les suivants :
  • Déterminer correctement les dépendances au cours de la publication (c.-à-d. s’assurer que les fragments et les modèles peuvent être publiés automatiquement avec une page s’ils ont été modifiés depuis la dernière publication).
  • Prise en charge des fragments de contenu dans la recherche de texte intégral.
  • Gestion/traitement du contenu intermédiaire.
  • Gestion/traitement des ressources multimédias mixtes.
  • Purge par le Dispatcher des fragments référencés (si une page contenant un fragment est republiée).
  • Utilisation du rendu basé sur les paragraphes.
Si vous avez besoin d’une ou de plusieurs de ces fonctionnalités, il est alors (généralement) plus facile d’utiliser les services avancés prêts à l’emploi, au lieu de les développer de A à Z.

Service OSGi – Configuration du composant de fragment de contenu

La configuration doit être liée à la Configuration du composant de fragment de contenu du service OSGi :
com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl
Voir Configuration OSGi pour plus d’informations.
Par exemple :
La configuration OSGi est la suivante :
Libellé Configuration OSGi Description
Type de ressource dam.cfm.component.resourceType Le type de ressource à enregistrer ; par exemple,
core/wcm/components/contentfragment/v1/contentfragment
Propriété de référence dam.cfm.component.fileReferenceProp Nom de la propriété qui contient la référence au fragment ; par exemple, fragmentPath ou fileReference
Propriété d’élément(s) dam.cfm.component.elementsProp Nom de la propriété qui contient le ou les noms des éléments dont le rendu doit être effectué ; par exemple, elementName
Propriété de variation dam.cfm.component.variationProp Nom de la propriété qui contient le nom de la variation dont le rendu doit être effectué ; par exemple, variationName
Pour certaines fonctionnalités, votre composant devra respecter des conventions prédéfinies. Le tableau suivant décrit les propriétés à définir, par votre composant, pour chaque paragraphe (c’est-à-dire jcr:paragraph pour chaque instance de composant) afin que les services puissent les détecter et les traiter correctement.
Nom de la propriété Description
paragraphScope
Propriété de chaîne qui définit le mode de sortie des paragraphes en mode de rendu d’élément unique .
Valeurs :
  • all : pour restituer tous les paragraphes
  • range : pour restituer la plage de paragraphes fournie par paragraphRange
paragraphRange
Propriété de chaîne qui définit la plage de paragraphes à sortir en mode de rendu d’élément unique .
Format :
  • 1 ou 1-3 ou 1-3;6;7-8 ou *-3;5-*
    • - Indicateur de plage
    • ; séparateur de liste
    • * caractère générique
  • évalué uniquement si paragraphScope est défini sur range
paragraphHeadings Propriété booléenne qui définit si les en-têtes (par exemple, h1 , h2 , h3 ) sont comptés comme des paragraphes ( true ) ou non ( false )

Exemple

À titre d’exemple, reportez-vous aux sections suivantes (sur une instance AEM prête à l’emploi) :
/apps/core/wcm/config/com.adobe.cq.dam.cfm.impl.component.ComponentConfigImpl-core-comp-v1.config

Contient :
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"