Vous consultez actuellement l'aide de la version:

Composants pour la création de fragment

Attention :

Il n’est pas recommandé d’étendre ou de modifier les composants réels car ils sont susceptibles d’être modifiés.

Composants pour la création de page

Attention :

Le composant de base Fragment de contenu est désormais recommandé. Voir Développement de composants de base pour plus d’informations.

Cette section détaille le composant d’origine qui peut être utilisé avec des fragments de contenu (Fragment de contenu dans le groupe Général).

Les fragments de contenu d’Adobe Experience Manager (AEM) sont créés et gérés sous forme de ressources indépendantes de la page. Ils vous permettent de créer du contenu compatible avec tous les canaux, ainsi que des variations (éventuellement spécifiques aux canaux). Vous pouvez ensuite utiliser ces fragments et leurs variantes lors de la création de vos pages de contenu. Vous pouvez également utiliser un élément de fragment de contenu existant en le faisant glisser depuis le navigateur de ressources vers la page (comme pour les autres composants basés sur des actifs, tels que le composant de base Image). Le composant de fragment de contenu prêt à l’emploi affiche un seul élément du fragment de contenu référencé. Dans la boîte de dialogue des composants, vous pouvez définir l’élément, la variation et la plage des paragraphes de fragment que vous souhaitez afficher sur la page.

Remarque :

Ce composant de fragment de contenu a été introduit dans AEM 6.2 en tant que version améliorée du composant Article, lequel a été abandonné.

Remarque :

Les fragments de contenu ne sont pas disponibles dans l’interface utilisateur classique.

Définition

Le composant Fragment de contenu est utilisé pour contenir une référence à un élément de fragment de contenu (éléments textuels améliorés). Le type de ressource pour le fragment de contenu est :

dam/cfm/components/contentfragment/contentfragment

La référence est définie dans la propriété :

fileReference

Seul l’éditeur de l’IU tactile prend entièrement en charge les composants de fragment de contenu, dont la bibliothèque cliente :

cq.authoring.editor.plugin.cfm

Cette bibliothèque ajoute à l’éditeur des fonctionnalités spécifiques aux fragments de contenu. Par exemple, il est possible d’ajouter et de configurer des fragments de contenu sur la page, ainsi que de rechercher des éléments de contenu dans le navigateur de ressources et du contenu associé dans le panneau latéral.

Contenu intermédiaire

Le composant Fragment de contenu vous permet de déposer des composants supplémentaires entre les différents paragraphes de l’élément affiché. À la base, l’élément affiché est composé de différents paragraphes (chaque paragraphe est marqué par un retour chariot). Entre chacun de ces paragraphes, vous pouvez insérer du contenu en utilisant d’autres composants.

D’un point de vue technique, chaque paragraphe de l’élément affiché réside dans son propre parsys, et chaque composant que vous ajoutez entre les paragraphes est (concrètement) inséré dans le parsys.

En d’autres termes, si l’instance du composant de fragment de contenu est composée de trois paragraphes, le composant possède trois parsys différents dans le référentiel. Tout le contenu intermédiaire ajouté au fragment de contenu se trouve réellement à l’intérieur de ces parsys.

Dans le référentiel, le contenu intermédiaire est stocké par rapport à sa position dans la structure de paragraphe globale, c’est-à-dire qu’il n’est pas rattaché au contenu réel du paragraphe.

Pour illustrer cela, prenons l’exemple suivant :

  • Une instance d’un fragment de contenu composé de trois paragraphes
  • Du contenu qui a déjà été inséré après le deuxième paragraphe
    • Cela signifie que le contenu sera stocké dans le deuxième parsys.

Fondamentalement, si la structure de paragraphe de cette instance change (en modifiant la variation, l’élément ou la plage de paragraphes affichés), cela peut affecter le contenu intermédiaire affiché lorsque le contenu du fragment de contenu :

  • Est modifié et qu’un autre paragraphe est ajouté avant le deuxième paragraphe :
    • Le contenu intermédiaire est affiché après le paragraphe nouvellement créé (le second paragraphe contient alors le paragraphe nouvellement créé).
  • Est modifié et que le deuxième paragraphe est supprimé :
    • Le contenu intermédiaire est affiché après le paragraphe qui était précédemment le troisième (le deuxième paragraphe contient alors le troisième paragraphe précédent).
  • Est configuré de sorte que seul le premier paragraphe soit affiché :
    • Le contenu entre les deux n’est pas affiché (le deuxième parsys n’est plus rendu en raison de la nouvelle configuration).

Personnalisation du composant Fragment de contenu

Pour utiliser le composant de fragment de contenu prêt à l’emploi comme plan directeur d’une extension, vous devez respecter le contrat suivant :

  • Réutiliser le script de rendu HTL et son POJO associé pour voir comment la fonctionnalité de contenu intermédiaire est implémentée.
  • Réutiliser le nœud du fragment de contenu : cq:editConfig
    • Les écouteurs afterinsert/afteredit/afterdelete servent à déclencher des événements JS. Ces événements sont gérés dans la bibliothèque cliente cq.authoring.editor.plugin.cfm pour afficher le contenu associé dans le panneau latéral.
    • Les cq:dropTargets sont configurés de manière à prendre en charge la gestion des fragments de contenu.
    • cq:inplaceEditing est configuré de sorte à prendre en charge la création d’un fragment de contenu dans l’éditeur de pages. L’éditeur de fragment local est défini dans la bibliothèque cliente cq.authoring.editor.plugin.cfm et permet à un lien rapide d’ouvrir l’élément/la variation dans l’éditeur de fragment.

Réécriture d’actifs avant le rendu

La gestion de fragments de contenu utilise un processus de rendu interne pour générer la sortie HTML finale pour une page. Ceci est utilisé en interne par le composant Fragment de contenu, mais également par le processus en arrière-plan qui met à jour les fragments référencés sur les pages de référencement.

En interne, Sling Rewriter est utilisé pour ce rendu. La configuration respective se trouve dans / libs/dam/config/rewriter/cfm et peut être ajustée si nécessaire. Voir Apache Sling Rewriter pour en savoir plus.

La configuration prête à l’emploi utilise les transformateurs suivants :

  • transformer-cfm-payloadfilter : pour récupérer la partie body (<body>...</ body>) du fragment HTML seulement
  • transformer-cfm-parfilter : filtre les paragraphes indésirables si une plage de paragraphes est spécifiée (comme cela peut être fait avec le composant Fragment de contenu)
  • transformer-cfm-assetprocessor : est utilisé en interne pour récupérer une liste des ressources incorporées au fragment

Le processus de rendu est exposé via com.adobe.cq.dam.cfm.content.FragmentRenderService et peut être exploité (par exemple) par des composants personnalisés, si nécessaire.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne