Définition du composant component-definition
Comprenez en détail le contrat JSON entre la définition du composant et l’éditeur universel.
Vue d’ensemble overview
Le fichier component-definition.json définit les composants disponibles pour les personnes responsables de la création du contenu dans le cadre du projet. Ce document explique en détail l’objectif de ce fichier et la manière dont l’éditeur universel l’utilise pour fournir aux personnes responsables du contenu des composants de création de pages.
component-definition.json à partir de zéro. Le projet modèle utilisé pour amorcer votre projet contient un fichier component-definition.json entièrement fonctionnel que vous pouvez adapter à vos besoins.Définition d’exemple de composant example
Voici un exemple complet, mais simple de component-definition.json.
{
"groups":[
{
"title":"General Components",
"id":"general",
"components":[
{
"title":"Text",
"id":"text",
"model": "text",
"filter": "texts",
"plugins":{
"aem":{
"page":{
"resourceType":"wknd/components/text",
"template":{
"text":"Default Text",
"name":"Text"
}
}
},
"aem65":{
"page":{
"resourceType":"wknd/components/text",
"template":{
"text":"Default Text",
"name":"Text"
}
}
}
}
}
]
}
]
}
groups groups
groups définit les groupes de composants visibles dans l’environnement auteur de l’éditeur universel lorsque l’on clique sur l’icône Ajouter du panneau des propriétés de l’éditeur pour ajouter un nouveau composant à une page. Les groupes permettent d’organiser les composants. Les groupes courants peuvent être Composants généraux et Composants avancés.
titledéfinit la description textuelle du groupe affiché dans l’interface utilisateur de l’éditeur.ididentifie le groupe de manière unique.
components components
components définit les composants appartenant à un groupe.
-
titledéfinit la description textuelle du composant affichée dans l’interface utilisateur. -
ididentifie de manière unique le composant.- Le modèle de composant du même
iddéfinit les champs du composant. - Dans la mesure où il est unique, il peut être utilisé, par exemple, dans une définition de filtre pour déterminer les composants qui peuvent être ajoutés à un conteneur.
- Le modèle de composant du même
-
modeldéfinit le modèle utilisé avec le composant.- Le modèle est ainsi maintenu de manière centralisée dans la définition du composant et n’a pas besoin d’être spécifié pour l’instrumentation.
- Vous pouvez ainsi déplacer des composants entre des conteneurs.
-
filterdéfinit quel filtre doit être utilisé avec le composant.
plugins plugins
plugins définit le plug-in responsable de la conservation du composant. Les plug-ins courants incluent :
aempour AEM as a Cloud Service.aem65pour AEM 6.5. et AEM 6.5 LTSxwalkpour Création avec AEM Sites pour Edge Delivery Services.
page ou cf page-cf
Une fois le plugin défini, il faut indiquer s’il est lié à une page ou à un fragment.
pageindique que le composant est le contenu de la page active.cfindique que le composant est associé au contenu dans un fragment de contenu.
page page
Si le composant correspond au contenu de la page, vous pouvez fournir les informations suivantes.
resourceTypedéfinit le SlingresourceTypeutilisé pour le rendu du composant.templatedéfinit les valeurs clé facultatives à écrire automatiquement dans le composant nouvellement créé et précise quel filtre et/ou modèle doit être appliqué au composant.- Utile pour le texte explicatif, d’exemple ou d’espace réservé.
template template
En fournissant des paires clé/valeur facultatives, template peut les écrire automatiquement dans le nouveau composant. De plus, les valeurs facultatives suivantes peuvent également être spécifiées.
cf cf
Si le composant est associé au contenu dans un fragment de contenu, les informations suivantes peuvent être fournies.
namedéfinit un nom facultatif enregistré dans le JCR pour le composant nouvellement créé.- Purement informatif et généralement non affiché dans l’interface utilisateur, contrairement au
title.
- Purement informatif et généralement non affiché dans l’interface utilisateur, contrairement au
cfModeldéfinit le modèle de fragment de contenu pour le composant nouvellement créé.cfFolderdéfinit dans quel dossier le fragment de contenu doit être créé.titledéfinit le titre du nouveau fragment de contenu.descriptiondéfinit une description du nouveau fragment de contenu.templatedéfinit les clés/valeurs facultatives à écrire automatiquement dans le fragment de contenu qui vient d’être créé.- Utile pour le texte explicatif, d’exemple ou d’espace réservé.
cf peut être intégré cf-implied
Si la page est instrumentée pour pointer vers un champ de référence, le cf est intégré automatiquement.
<div data-aue-resource="urn:aem:/content" data-aue-type="container" data-aue-prop="field"></div>
Dans ce cas, cf est intégré automatiquement, car le data-aue-prop pointe vers un champ de référence. Sans le data-aue-prop, l’éditeur universel intègre automatiquement page, car dans ce cas les composants ne sont pas liés via un champ de référence.
<div data-aue-resource="urn:aem:/content" data-aue-type="container"></div>
Les composants sont simplement des sous-nœuds sous la ressource.