Komponentdefinition component-definition
Förstå JSON-kontraktet mellan komponentdefinitionen och den universella redigeraren i detalj.
Ökning overview
Filen component-definition.json definierar de komponenter som är tillgängliga för de som skapar ditt innehåll för projektet. I det här dokumentet förklaras i detalj syftet med filen och hur den används av den universella redigeraren för att ge författarna tillgång till komponenter för sidredigering.
component-definition.json-fil från grunden. Projektmallen som du använder för att bootstrap ditt projekt innehåller en fullt fungerande component-definition.json fil som du kan anpassa efter dina behov.Exempel på komponentdefinition example
Följande är ett fullständigt, men enkelt component-definition.json som exempel.
{
"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 definierar de grupper av komponenter som författaren ser i den universella redigeraren när han klickar på ikonen Lägg till på egenskapspanelen i redigeraren för att lägga till en ny komponent på en sida. Med grupper kan du ordna komponenterna. Vanliga grupper kan vara Allmänna komponenter och Avancerade komponenter.
titledefinierar den textbeskrivning av gruppen som visas i redigerarens användargränssnitt.ididentifierar gruppen unikt.
components components
components definierar vilka komponenter som tillhör en grupp.
-
titledefinierar textbeskrivningen för komponenten som visas i användargränssnittet. -
ididentifierar komponenten unikt.- komponentmodellen för samma
iddefinierar komponentens fält. - Eftersom den är unik kan den till exempel användas i en filterdefinition för att avgöra vilka komponenter som kan läggas till i en behållare.
- komponentmodellen för samma
-
modeldefinierar vilken modell som används med komponenten.- Modellen underhålls därför centralt i komponentdefinitionen och behöver inte vara specificerad i instrumenteringen.
- På så sätt kan du flytta komponenter mellan behållare.
-
filterdefinierar vilket filter som ska användas med komponenten.
plugins plugins
plugins definierar vilket plugin-program som ansvarar för att komponenten behålls. Vanliga plugin-program:
aemför AEM as a Cloud Service.aem65för AEM 6.5. och AEM 6.5 LTSxwalkför Redigering med AEM Sites för Edge Delivery Services.
page eller cf page-cf
När plugin har definierats måste du ange om den är sidrelaterad eller fragmentrelaterad.
pageanger att komponenten är innehåll på den aktuella sidan.cfanger att komponenten är relaterad till innehåll i ett innehållsfragment.
page page
Om komponenten är innehåll på sidan kan du ange följande information.
resourceTypedefinierar SlingresourceTypesom används för återgivning av komponenten.templatedefinierar valfria nycklar/värden som ska skrivas automatiskt till den nyskapade komponenten och definierar vilket filter och/eller vilken modell som ska användas på komponenten.- Användbart för förklarande text, exempeltext eller platshållartext.
template template
Genom att tillhandahålla valfria nyckel-/värdepar kan template automatiskt skriva dessa till den nya komponenten. Dessutom kan följande valfria värden anges.
cf cf
Om komponenten är relaterad till innehåll i ett innehållsfragment kan du ange följande information.
namedefinierar ett valfritt namn som har sparats i JCR för den nyskapade komponenten.- Endast informativ och visas vanligtvis inte i användargränssnittet som
titleär.
- Endast informativ och visas vanligtvis inte i användargränssnittet som
cfModeldefinierar Content Fragment -modellen för den nyskapade komponenten.cfFolderdefinierar i vilken mapp innehållsfragmentet ska skapas.titledefinierar titeln på det nya innehållsfragmentet.descriptiondefinierar en beskrivning av det nya innehållsfragmentet.templatedefinierar valfria nycklar/värden som automatiskt ska skrivas till det nyligen skapade innehållsfragmentet.- Användbart för förklarande text, exempeltext eller platshållartext.
cf kan vara underförstådd cf-implied
Om sidan är instrumenterad för att peka på ett referensfält antas cf.
<div data-aue-resource="urn:aem:/content" data-aue-type="container" data-aue-prop="field"></div>
I så fall antas cf eftersom data-aue-prop pekar på ett referensfält. Utan data-aue-prop får den universella redigeraren page eftersom komponenterna i så fall inte är länkade via ett referensfält.
<div data-aue-resource="urn:aem:/content" data-aue-type="container"></div>
Komponenterna är helt enkelt delnoder under resursen.