Definizione del componente component-definition
Informazioni dettagliate sul contratto JSON tra la definizione del componente e l’editor universale.
Panoramica overview
Il file component-definition.json definisce i componenti disponibili per gli autori dei contenuti per il progetto. Questo documento spiega in dettaglio lo scopo di questo file e come viene utilizzato dall’editor universale per presentare agli autori i componenti per l’authoring delle pagine.
component-definition.json personalizzato da zero. Il progetto standard utilizzato per avviare il progetto contiene un file component-definition.json perfettamente funzionante che puoi adattare in base alle tue esigenze.Definizione del componente di esempio example
Di seguito è riportato un esempio di component-definition.json completo, ma semplice.
{
"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 definisce i gruppi di componenti visualizzati dall’autore nell’editor universale quando si fa clic sull’icona Aggiungi nel pannello delle proprietà dell’editor per aggiungere un nuovo componente a una pagina. I gruppi consentono di organizzare i componenti. I gruppi comuni possono essere Componenti generali e Componenti avanzati.
titledefinisce la descrizione testuale del gruppo mostrato nell’interfaccia utente dell’editor.ididentifica in modo univoco il gruppo.
components components
components definisce quali componenti appartengono a un gruppo.
-
titledefinisce la descrizione testuale del componente mostrato nell’interfaccia utente. -
ididentifica in modo univoco il componente.- Il modello di componente dello stesso
iddefinisce i campi del componente. - Poiché è univoco, può essere utilizzato, ad esempio, in una definizione di filtro per determinare quali componenti possono essere aggiunti a un contenitore.
- Il modello di componente dello stesso
-
modeldefinisce quale modello viene utilizzato con il componente.- Il modello viene così mantenuto centralmente nella definizione di componente e non è necessario specificarlo nella strumentazione.
- In questo modo, inoltre, sarà possibile spostare i componenti tra contenitori diversi.
-
filterdefinisce quale filtro deve essere utilizzato con il componente.
plugins plugins
plugins definisce quale plug-in è responsabile della persistenza del componente. I plug-in più comuni includono:
aemper AEM as a Cloud Service.aem65per AEM 6.5. e AEM 6.5 LTSxwalkper Authoring con AEM Sites per Edge Delivery Services.
page oppure cf page-cf
Una volta definito il plugin, devi indicare se è correlato alla pagina o al frammento.
pageindica che il componente è contenuto nella pagina corrente.cfindica che il componente è correlato al contenuto all’interno di un frammento di contenuto.
page page
Se il componente è contenuto nella pagina, puoi fornire le seguenti informazioni.
resourceTypedefinisce lo SlingresourceTypeutilizzato per il rendering del componente.templatedefinisce la chiave o i valori facoltativi da scrivere automaticamente nel componente appena creato e definisce quale filtro e/o modello applicare al componente.- Utile per testi esplicativi, di esempio o segnaposto.
template template
Fornendo coppie chiave/valore facoltative, template può scriverle automaticamente nel nuovo componente. È, inoltre, possibile specificare i seguenti valori facoltativi.
cf cf
Se il componente è correlato al contenuto all’interno di un frammento di contenuto, puoi fornire le seguenti informazioni.
namedefinisce un nome facoltativo salvato nel JCR per il componente appena creato.- Solo informativo e non generalmente mostrato nell’interfaccia utente come lo è il
title.
- Solo informativo e non generalmente mostrato nell’interfaccia utente come lo è il
cfModeldefinisce il modello di frammento di contenuto per il componente appena creato.cfFolderdefinisce in quale cartella deve essere creato il frammento di contenuto.titledefinisce il titolo del nuovo frammento di contenuto.descriptiondefinisce una descrizione del nuovo frammento di contenuto.templatedefinisce una chiave o valori facoltativi da scrivere automaticamente nel frammento di contenuto appena creato.- Utile per testi esplicativi, di esempio o segnaposto.
cf Può essere implicito cf-implied
Se la pagina è strumentata per puntare a un campo di riferimento, cf verrà presupposto.
<div data-aue-resource="urn:aem:/content" data-aue-type="container" data-aue-prop="field"></div>
In questo caso, cf è presupposto poiché data-aue-prop punta a un campo di riferimento. Senza data-aue-prop, l’editor universale presupporrà page, poiché in tal caso i componenti non sono collegati tramite un campo di riferimento.
<div data-aue-resource="urn:aem:/content" data-aue-type="container"></div>
I componenti sono semplicemente sottonodi al di sotto della risorsa.