Skapa en anpassad anpassad formulärmall creating-a-custom-adaptive-form-template
Förutsättningar prerequisites
-
Förstå AEM Sidmall och redigering av anpassat formulär
Adaptiv formulärmall adaptive-form-template
En mall för anpassat formulär är en AEM sidmall med vissa egenskaper och innehållsstruktur som används för att skapa anpassningsbara formulär. Mallen innehåller förkonfigurerade layouter, format och grundläggande innehållsstruktur.
När du har skapat ett formulär återspeglas inte ändringarna i den ursprungliga mallinnehållsstrukturen i formuläret.
Standardmallar för anpassningsbara formulär default-adaptive-form-templates
AEM QuickStart innehåller följande adaptiva formulärmallar:
- Undersökningsmall: Gör att du kan skapa ett anpassat formulär med hjälp av layouten Responsiv som har flera kolumner konfigurerade. Layouten justeras automatiskt baserat på dimensionerna för de olika skärmar som du vill visa formuläret på.
- Enkel registreringsmall: Gör att du kan skapa ett anpassningsbart formulär i flera steg med hjälp av en guidelayout. I den här layouten kan du ange ett uttryck för stegfärdigställande för varje steg, som valideras innan guiden fortsätter till nästa steg.
- Registreringsmall med flikar: Gör att du kan skapa ett anpassningsbart formulär med flera flikar i en tabbar-till-vänster-layout där du kan besöka flikar i valfri slumpmässig ordning.
- Avancerad registreringsmall: Skapa ett formulär med flera flikar och guider. Den har en tabbar till vänster-layout där du kan gå till flikarna i valfri ordning. Den använder Adobe Document Cloud designtjänster för signering och verifiering.
- Tom mall: Skapa ett formulär utan sidhuvud, sidfot och ursprungligt innehåll. Du kan lägga till komponenter som textrutor, knappar och bilder. Med den tomma mallen kan du skapa ett formulär som du kan bädda in AEM webbplatssidor.
De här mallarna har egenskapen sling:resourceType
inställd på motsvarande sidkomponent. Sidkomponenten återger CQ-sidan med adaptiv formulärbehållare, som i sin tur återger adaptiv form.
I följande tabell räknas associationen mellan mallar och sidkomponenter upp:
Skapa en adaptiv formulärmall med mallredigeraren creating-an-adaptive-form-template-using-template-editor
Du kan ange strukturen och det ursprungliga innehållet i ett anpassat formulär med mallredigeraren. Du vill till exempel att alla formulärförfattare ska ha få textrutor, navigeringsknappar och en skicka-knapp i ett registreringsformulär. Du kan skapa en mall som författare kan använda för att skapa ett formulär som är konsekvent med andra registreringsformulär. AEM mallredigerare:
- Lägga till sidhuvud- och sidfotskomponenter i ett formulär i strukturlagret
- Ange formulärets ursprungliga innehåll.
- Ange ett tema.
- Ange åtgärder som att skicka, återställa och navigera.
Mer information finns i Mallredigerare.
Skapa en anpassad formulärmall från CRXDE creating-an-adaptive-form-template-from-crxde
I stället för att använda de tillgängliga mallarna kan du skapa en mall och använda den för att skapa anpassade formulär. Anpassade mallar baseras på olika sidkomponenter som refererar till adaptiva formulärbehållare och sidelement, t.ex. sidhuvud och sidfot.
Du kan skapa de här komponenterna med bassidkomponenten för webbplatsen. Du kan också utöka sidkomponenten i det adaptiva formuläret som finns i rutmallarna.
Utför följande steg för att skapa en anpassad mall, till exempel simpleEnrollmentTemplate.
-
Navigera till CRXDE Lite i redigeringsinstansen.
-
Skapa mappstrukturen för programmet i katalogen /apps. Om programnamnet till exempel är mitt eget skapar du en mapp med det här namnet. Programmappen innehåller vanligtvis komponenter, konfiguration, mallar, src och installationskataloger. I det här exemplet skapar du mapparna för komponenter, konfiguration och mallar.
-
Navigera till mappen /libs/fd/af/templates.
-
Kopiera noden
simpleEnrollmentTemplate
. -
Navigera till mappen /apps/mycompany/templates. Högerklicka på den och välj Paste.
-
Om det behövs byter du namn på mallnoden som du kopierade. Du kan t.ex. byta namn på den som en registreringsmall.
-
Navigera till platsen /apps/mycompany/templates/enrollment-template.
-
Ändra egenskaperna
jcr:title
ochjcr:description
för nodenjcr:content
för att skilja mallen från mallen som du kopierade. -
Noden
jcr:content
i den ändrade mallen innehåller komponenternaguideContainer
ochguideformtitle
.guideContainer
är den behållare som innehåller det adaptiva formuläret. Komponentenguideformtitle
visar programnamnet, beskrivningen och så vidare.I stället för
guideformtitle
kan du ta med en anpassad komponent eller komponentenparsys
. Ta till exempel bortguideformtitle
och lägg till en anpassad komponent eller komponentnodenparsys
. Se till att komponentenssling:resourceType
-egenskap refererar till komponenten och att samma egenskap definieras i sidfilencomponent.jsp
. -
Navigera till platsen /apps/mycompany/templates/enrollment-template/jcr:content.
-
Öppna fliken Properties och ändra värdet för egenskapen
cq:designPath
till /etc/designs/mincompany. -
Skapa nu en /etc/designs/mincompany-nod för typen
cq:Page
.
Skapa en adaptiv komponent för formulärsidor create-an-adaptive-form-page-component
Den anpassade mallen har samma format som standardmallen eftersom mallen refererar till sidkomponenten /libs/fd/af/components/page/base. Du kan hitta komponentreferensen som egenskapen sling:resourceType
som definieras på noden /apps/mycompany/templates/enrollment-template/jcr:content. Eftersom basen är en kärnproduktkomponent, ska du inte ändra den här komponenten.
-
Navigera till noden /apps/mycompany/templates/enrollment-template/jcr:content och ändra värdet för egenskapen
sling:resourceType
till /apps/mycompany/components/page/enrollmentpage -
Kopiera noden /libs/fd/af/components/page/base till mappen /apps/mycompany/components/page.
-
Byt namn på den kopierade komponenten till
enrollmentpage
. -
(Endast om du redan har en innehållssida) Utför följande steg (a-d) om du har en befintlig
contentpage
-komponent för webbplatsen. Om du inte har någon befintligcontentpage
-komponent för webbplatsen kan du låtaresourceSuperType
-egenskapen peka på den körklara bassidan.-
För noden
enrollmentpage
anger du värdet för egenskapensling:resourceSuperType
till mincompany/components/page/contentpage. Komponentencontentpage
är bassidans komponent för din webbplats. Andra sidkomponenter kan utöka den. Ta bort skriptfiler underenrollmentpage
, förutomhead.jsp
,content.jsp
ochlibrary.jsp
. Komponentensling:resourceSuperType
, som i det här fallet ärcontentpage
, innehåller alla sådana skript. Sidhuvuden, inklusive navigeringsfält och sidfötter, ärvs från komponentencontentpage
. -
Öppna filen
head.jsp
.JSP-filen innehåller raden
<cq.include script="library.jsp"/>
.Filen
library.jsp
innehåller klientbiblioteketguide.theme.simpleEnrollment
som innehåller formateringen för det adaptiva formuläret.Sidkomponenten
enrollmentpage
har en exklusivhead.jsp
-fil som åsidosätterhead.jsp
-filen för komponentencontentpage
. -
Inkludera alla skript i filen
head.jsp
för komponentencontentpage
i filenhead.jsp
för komponentenenrollmentpage
. -
I skriptet
content.jsp
kan du lägga till ytterligare sidinnehåll eller referenser till andra komponenter som inkluderas när en sida återges. Om du till exempel lägger till den anpassade komponentenapplicationformheader
måste du lägga till följande referens till komponenten i JSP-filen:<cq:include path="applicationformheader" resourceType="mycompany/components/applicationformheader"/>
Om du lägger till en
parsys
-komponent i mallnodstrukturen inkluderar du även den anpassade komponenten.
-
Skapa ett adaptivt formulärklientbibliotek creating-an-adaptive-form-client-library
Filen head.jsp
för komponenten enrollmentpage
för den nya mallen innehåller ett klientbibliotek guide.theme.simpleEnrollment
. Standardmallen använder även det här klientbiblioteket. Ändra formatet i den nya mallen på något av följande sätt:
- Definiera ett anpassat tema och ersätt standardtemat
guide.theme.simpleEnrollment
med det anpassade temat. - Definiera ett nytt klientbibliotek under /etc/designs/mincompany. Inkludera klientbiblioteket efter standardtemaposten på jsp-sidan. Inkludera alla åsidosatta format och ytterligare JavaScript-filer i klientbiblioteket.