Skapa en ny GRE-fältkomponent
- Ämnen:
- Developing
Skapat för:
- Developer
Gränssnittet Granite innehåller ett antal komponenter som är avsedda att användas i formulär. kallas fält i GRUND-språket Granite. Standardkomponenterna i Granite finns under:
/libs/granite/ui/components/foundation/form/*
Använd ramverket Granite UI Foundation för att utveckla och/eller utöka Granite-komponenter. Detta har två element:
-
serversidan:
-
en samling grundkomponenter
- grund - modulär, sammansättningsbar, lagerhanterbar, återanvändbar
- komponenter - Sling-komponenter
-
hjälpmedel för utveckling av ansökningar
-
-
klientsidan:
- en samling klientlibs som innehåller vissa vokabulära tecken (dvs. en utökning av HTML) för att uppnå generiska interaktionsmönster via ett hypermediedrivet användargränssnitt
Den generiska användargränssnittskomponenten Granite field
består av två intressanta filer:
init.jsp
: hanterar den allmänna behandlingen, etiketter, beskrivning och tillhandahåller formulärvärden som du behöver när du återger fältet.render.jsp
: Det är här som den faktiska återgivningen av fältet utförs och måste åsidosättas för ditt anpassade fält. ingår iinit.jsp
.
Se Bevilja gränssnittsdokumentation - fält om du vill ha mer information.
Se till exempel:
-
cqgems/customizingfield/components/colorpicker
- från Kodexempel
-
granite/ui/components/foundation/form
/libs/granite/ui/components/foundation/form
katalogSkapa serverskriptet för komponenten
Ditt anpassade fält bör bara åsidosätta render.jsp
skript, där du anger koden för komponenten. Du kan betrakta JSP (dvs. återgivningsskriptet) som en wrapper för koden.
-
Skapa en ny komponent som använder
sling:resourceSuperType
egenskap att ärva från:/libs/granite/ui/components/foundation/form/field
-
Åsidosätt skriptet:
render.jsp
I det här skriptet måste du generera hypermediemarkeringen (d.v.s. berikad kod som innehåller hypermedielagring) så att klienten vet hur man interagerar med det genererade elementet. Detta bör följa kodningsformatet för serversidan Granite.
När du anpassar, det enda kontrakt som du måste fulfill är att läsa formulärvärdet (initierat i
init.jsp
) från begäran med:// Delivers the value of the field (read from the content) ValueMap vm = (ValueMap) request.getAttribute(Field.class.getName()); vm.get("value, String.class");
Mer information finns i implementeringen av användargränssnittsfält för Granite som är färdiga att användas. till exempel
/libs/granite/ui/components/foundation/form/textfield
.NOTE
För närvarande är JSP den rekommenderade skriptmetoden eftersom det inte är lätt att skicka information från en komponent till en annan (vilket är ganska vanligt i formulärfält) i HTML.
Skapa klientbiblioteket för komponenten
Så här lägger du till specifikt klientbeteende i komponenten:
-
Skapa ett clientlib för kategori
cq.authoring.dialog
. -
Skapa ett clientlib för kategori
cq.authoring.dialog
och definieraJS
/CSS
inuti.Definiera
JS
/CSS
inuti klientlib.NOTE
För tillfället innehåller GRE-gränssnittet inga avlyssnare eller kopplingar som du kan använda direkt för att lägga till JS-beteende. För att lägga till ytterligare JS-beteende i komponenten måste du implementera en JS-krok i en anpassad klass som du sedan tilldelar till komponenten under kodgenereringen.
Experience Manager
- Utveckla användarhandboken - översikt
- Introduktion för utvecklare
- Komma igång med utveckling i AEM Sites – WKND-självstudiekurs
- AEM kärnbegrepp
- Struktur för det AEM användargränssnittet med pekskärm
- Koncepten i det AEM användargränssnittet med pekskärm
- AEM - riktlinjer och bästa praxis
- Använda bibliotek på klientsidan
- Developing and Page Diff
- Begränsningar för redigerare
- CSRF Protection Framework
- Datamodellering - David Nueschelers modell
- Bidrar till AEM
- Dokumentskydd
- Referensmaterial
- Skapa en webbplats med alla funktioner (Classic UI)
- Designer och Designer (Classic UI)
- Plattform
- Fusklapp för Sling
- Använda Sling-adaptrar
- Taggbibliotek
- Mallar
- Använda Sling Resource Merger i AEM
- Övertäckningar
- Namnkonventioner
- Skapa en ny GRE-fältkomponent
- Query Builder
- Taggar
- Anpassa sidor som visas av felhanteraren
- Anpassade nodtyper
- Lägga till teckensnitt för grafikåtergivning
- Ansluta till SQL-databaser
- Extern URL
- Skapa och använda jobb för avlastning
- Konfigurerar cookie-användning
- Så här programmässigt kommer du åt AEM JCR
- Integrera tjänster med JMX-konsolen
- Developing the Bulk Editor
- Utveckla rapporter
- eCommerce
- Komponenter
- Kärnkomponenter
- Formatsystem
- Komponenter - översikt
- AEM - Grunderna
- Utveckla AEM
- Utveckla AEM - kodexempel
- JSON-exporterare för innehållstjänster
- Aktivera JSON-export för en komponent
- Bildredigeraren
- Dekoration-tagg
- Använda Dölj villkor
- Konfigurera flera redigerare på plats
- Utvecklarläge
- Testa användargränssnittet
- Komponenter för innehållsfragment
- Hämta sidinformation i JSON-format
- Internationalisering
- Klassiska gränssnittskomponenter
- Headless Experience Management
- Headless och Hybrid with AEM
- Aktivera JSON-export för en komponent
- Enkelsidiga program
- SPA introduktion och genomgång
- SPA WKND - självstudiekurs
- Getting Started with SPA in AEM - React
- Komma igång med SPA i AEM - Angular
- Implementera en React Component for SPA
- SPA djupdykning
- SPA
- Utveckla SPA för AEM
- SPA Blueprint
- SPA
- Dynamisk mappning av modell till komponent för SPA
- SPA
- SPA och Adobe Experience Platform Launch Integration
- SPA- och serveråtergivning
- SPA referensmaterial
- HTTP-API
- Innehållsfragment
- Experience Fragments
- Utvecklingsverktyg
- Utvecklingsverktyg
- AEM Modernization Tools
- Dialogruteredigeraren
- Verktyget Dialogkonvertering
- Utveckla med CRXDE Lite
- Hantera paket med Maven
- Utveckla AEM projekt med Eclipse
- Skapa AEM projekt med Apache Maven
- Utveckla AEM projekt med IntelliJ IDEA
- Så här använder du VLT-verktyget
- Så här använder du proxyserververktyget
- AEM Brackets Extension
- AEM Developer Tools for Eclipse
- AEM
- Personanpassning
- Utöka AEM
- Anpassa sidredigering
- Anpassa konsolerna
- Anpassa vyer av Sidegenskaper
- Konfigurera din sida för gruppredigering av sidegenskaper
- Anpassa och utöka Content Fragments
- Utöka arbetsflöden
- Utöka Multi Site Manager
- Spårning och analys
- Cloud Services
- Skapa anpassade tillägg
- Forms
- Integrera tjänster med JMX-konsolen
- Developing the Bulk Editor
- Utöka Classic UI
- Testning
- Bästa praxis
- Mobil webb