Modelldefinitioner, fält och komponenttyper field-types
Lär dig mer om fält och de komponenttyper som den universella redigeraren kan redigera på egenskapspanelen med exempel. Lär dig hur du kan mäta din egen app genom att skapa en modelldefinition och länka till komponenten.
Ökning overview
När du anpassar dina egna program för användning med den universella redigeraren måste du mäta komponenterna och definiera vilka fält och komponenttyper som de kan ändra på egenskapspanelen i redigeraren. Det gör du genom att skapa en modell och länka till den från komponenten.
Det här dokumentet innehåller en översikt över en modelldefinition och över fält och de komponenttyper som är tillgängliga för dig tillsammans med exempelkonfigurationer.
Modelldefinitionsstruktur model-structure
Om du vill konfigurera en komponent via egenskapspanelen i den universella redigeraren måste det finnas en modelldefinition som är länkad till komponenten.
Modelldefinitionen är en JSON-struktur som börjar med en array med modeller.
[
{
"id": "model-id", // must be unique
"fields": [] // array of fields which shall be rendered in the properties panel
}
]
Mer information om hur du definierar -arrayen finns i avsnittet Fältfields i det här dokumentet.
Du kan länka en modell till en komponent på två sätt: med komponentdefinitionen eller via instrumenteringen.
Länka med komponentdefinitionen component-definition
Det här är den metod som rekommenderas för att länka modellen till komponenten. På så sätt kan du behålla länken centralt i komponentdefinitionen och dra komponenter över behållare.
Inkludera bara egenskapen model i komponentobjektet i arrayen components i filen component-definition.json.
Mer information finns i dokumentet Komponentdefinition.
Länkning med Instrumentation instrumentation
Om du vill använda modelldefinitionen med en komponent kan attributet data-aue-model användas.
<div data-aue-resource="urn:datasource:/content/path" data-aue-type="component" data-aue-model="model-id">Click me</div>
- Projekt som har implementerat länken till modellen via instrumenteringen fortsätter att fungera som de ska utan att behöva ändras.
- Om du definierar modellen i både komponentdefinitionen och i instrumenteringen används alltid instrumenteringen.
Läsa in en modelldefinition loading-model
När en modell har skapats kan den refereras som en extern fil.
<script type="application/vnd.adobe.aue.model+json" src="<url-of-model-definition>"></script>
Du kan också definiera modellen textbundet.
<script type="application/vnd.adobe.aue.model+json">
{ ... model definition ... }
</script>
Fält fields
Ett fältobjekt har följande typdefinition.
componentComponentTypelabelFieldLabeldescriptionFieldDescriptionvalueFieldValuevalue i modelldefinitionen. Detta säkerställer att det du ser matchar det som finns kvar i backend-objektet.valueTypeValueTypestring, string[], number, date, booleanrequiredbooleanreadOnlybooleanhiddenbooleanmultibooleanObservera att behållarkapsling inte tillåts för flerfält i egenskapspanelen
validationValidationTyperawunknown_) tillåts inte i fältnamn när plugin-program för aem eller xwalk används.namnfält och kapsling nesting
Fältet name kan peka direkt på en egenskap för den aktuella resursen eller, när det gäller komponenter i cq:Pages, också använda en sökväg till en kapslad egenskap. Till exempel:
"name": "teaser/image/fileReference"
Komponenttyper component-types
Följande komponenttyper kan användas för återgivningsfält.
aem-tagaem-contentbooleancheckbox-groupcontaineraem-content-fragmentdate-timeaem-experience-fragmentmultiselectnumberradio-groupreferencerichtextselecttabtexttextareaAEM-tagg aem-tag
En taggkomponenttyp i AEM aktiverar en AEM-taggväljare som kan användas för att bifoga taggar till komponenten.
| code language-json |
|---|
|
AEM Content aem-content
En AEM-innehållskomponenttyp aktiverar en AEM-innehållsväljare som kan användas för att välja valfri AEM-resurs. Till skillnad från referenskomponenten, som bara kan markera resurser, kan AEM-innehållskomponenten referera till allt AEM-innehåll. Den erbjuder en extra valideringstyp.
rootPathstring| code language-json |
|---|
|
Boolean boolean
En boolesk komponenttyp lagrar ett enkelt true/false-värde som återges som en växlingstyp. Den erbjuder en extra valideringstyp.
customErrorMsgstring| code language-json |
|---|
|
| code language-json |
|---|
|
Kryssrutegrupp checkbox-group
På samma sätt som för ett booleskt värde kan en kryssrutegruppskomponenttyp användas för att välja flera sant/falskt-objekt, som återges som flera kryssrutor.
| code language-json |
|---|
|
Behållare container
En behållarkomponenttyp tillåter gruppering av komponenter inklusive stöd för flera fält. Den erbjuder en extra konfiguration. Observera att behållarkapsling inte tillåts för flera fält på egenskapspanelen
collapsibleboolean| code language-json |
|---|
|
| code language-json |
|---|
|
Innehållsfragment content-fragment
Du kan använda väljaren för innehållsfragment för att välja ett innehållsfragment och dess variationer (om det behövs). Den erbjuder en extra konfiguration.
variationNamestringDen erbjuder även en ytterligare valideringstyp.
rootPathstring| code language-json |
|---|
|
Datum och tid date-time
En datumtidskomponenttyp tillåter specificering av ett datum, en tid eller en kombination av dessa. Den erbjuder ytterligare konfigurationer.
displayFormatstringvalueFormatstringDen erbjuder även en ytterligare valideringstyp.
customErrorMsgstringvalueFormat inte uppfylls| code language-json |
|---|
|
| code language-json |
|---|
|
Experience Fragment experience-fragment
Experience Fragment-väljaren kan användas för att välja ett Experience Fragment och dess variationer (om det behövs). Den erbjuder en extra konfiguration.
variationNamestringDen erbjuder även en ytterligare valideringstyp.
rootPathstring| code language-json |
|---|
|
Multimarkering multiselect
En komponenttyp för flerval visar flera objekt för markering i en listruta, inklusive möjligheten att gruppera de element som kan markeras.
| code language-json |
|---|
|
| code language-json |
|---|
|
Nummer number
En talkomponenttyp tillåter indata för ett tal. Det erbjuder ytterligare valideringstyper.
numberMinnumbernumberMaxnumbercustomErrorMsgstringnumberMin eller numberMax inte uppfylls| code language-json |
|---|
|
| code language-json |
|---|
|
Alternativgrupp radio-group
En alternativgruppskomponenttyp tillåter en ömsesidigt uteslutande markering av flera alternativ som återges som en grupp som liknar en kryssrutegrupp.
| code language-json |
|---|
|
Referens reference
En referenskomponenttyp aktiverar en AEM-resursväljare som kan användas för att välja en AEM-resurs som ska refereras. Till skillnad från AEM-innehållskomponenten, som kan välja vilken AEM-resurs som helst, kan referenskomponenten bara referera till resurser. Den erbjuder en extra valideringstyp.
En referenskomponenttyp tillåter en referens till ett annat dataobjekt från det aktuella objektet.
| code language-json |
|---|
|
RTF rich-text
RTF ger möjlighet till RTF-inmatning med flera rader.
| code language-json |
|---|
|
Välj select
En select-komponenttyp gör att du kan välja ett enstaka alternativ i en lista med fördefinierade alternativ i en nedrullningsbar meny.
| code language-json |
|---|
|
Tabb tab
Med en flikkomponenttyp kan du gruppera andra inmatningsfält tillsammans på flera flikar för att förbättra layoutordningen för författarna.
En tab-definition kan betraktas som en avgränsare i arrayen för fields. Allt som kommer efter en tab placeras på den fliken tills en ny tab påträffas, där följande objekt placeras på den nya fliken.
Om du vill att objekt ska visas ovanför alla flikar måste de definieras före alla tabbar.
| code language-json |
|---|
|
Text text
Text tillåter en enda rad med textinmatning. Det innehåller ytterligare valideringstyper.
minLengthnumbermaxLengthnumberregExpstringcustomErrorMsgstringminLength, maxLength och/eller regExp bryts| code language-json |
|---|
|
| code language-json |
|---|
|
Textområde textarea
Textområdet tillåter flera rader med textinmatning.
| code language-json |
|---|
|