Il n’est pas recommandé d’étendre ou de modifier les composants réellement utilisés dans l’éditeur de fragment car ils sont susceptibles d’être modifiés.
Consultez API de gestion des fragments de contenu - Côté client.
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).
Consultez également la section Composants de configuration de fragments de contenu pour les rendus pour plus d’informations.
Les fragments de contenu Adobe Experience Manager (AEM) sont créés et gérés en tant que 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 ressources, 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.
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é.
Les fragments de contenu ne sont pas disponibles dans l’interface utilisateur classique.
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.
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
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 :
est modifié et que le deuxième paragraphe est supprimé :
est configuré de sorte que seul le premier paragraphe soit affiché :
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
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.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.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. Consultez Apache Sling Rewriter pour en savoir plus.
Si vous ajustez/superposez la configuration du module de réécriture :
/libs/dam/config/rewriter/cfm
alors le serializerType
doit être mis à jour vers :
serializerType="html5-serializer"
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.