Erstellen einer benutzerdefinierten adaptiven Formularvorlage creating-a-custom-adaptive-form-template
Voraussetzungen prerequisites
-
Grundlagen zu den Seitenvorlagen und zum Authoring adaptiver Formulare
-
Grundlegendes zu AEM Client-seitige Bibliotheken
Adaptive Formularvorlage adaptive-form-template
Eine Vorlage für adaptive Formulare ist AEM Seitenvorlage mit bestimmten Eigenschaften und Inhaltsstruktur spezialisiert, die zum Erstellen adaptiver Formulare verwendet werden. Die Vorlage verfügt über vorkonfigurierte Layouts, Stile und eine grundlegende anfängliche Inhaltsstruktur.
Änderungen an der Inhaltsstruktur einer Formularvorlage werden nicht in das aus der Vorlage erstellte Formular übernommen.
Adaptive Standardformularvorlagen default-adaptive-form-templates
AEM QuickStart bietet die folgenden adaptiven Formularvorlagen:
- Allgemein: Ermöglicht die Erstellung eines aus mehreren Registerkarten bestehenden adaptiven Formulars mit einem Layout, in dem sich links Registerkarten befinden, über die Sie Registerkarten in beliebiger Reihenfolge aufrufen können.
- Einfach mit Acrobat Sign: Ermöglicht die Erstellung eines Formulars mit mehreren Registerkarten und einem Assistenten. Es verwendet ein Layout mit Registerkarten auf der linken Seite, mit dem Sie Registerkarten in beliebiger Reihenfolge aufrufen können. Es werden Adobe Document Cloud eSign-Dienste zum Signieren und zur Prüfung verwendet.
- Leere Vorlage: Ermöglicht die Erstellung eines Formulars ohne Kopf- und Fußzeile sowie anfänglichen Inhalt. Sie können Komponenten wie Textfelder, Schaltflächen und Bilder hinzufügen. Mit der leeren Vorlage können Sie ein Formular erstellen, das Sie in AEM Site-Seiten einbetten können.
Außerdem ist für diese Vorlagen die Eigenschaft sling:resourceType
auf die entsprechende Seitenkomponente gesetzt. Die Seitenkomponente rendert die CQ-Seite mit dem Container für adaptive Formulare, der wiederum adaptive Formulare rendert.
In der folgenden Tabelle wird die Verknüpfung zwischen Vorlagen und Seitenkomponenten aufgezählt:
Erstellen einer Vorlage für ein adaptives Formular mithilfe des Vorlageneditors creating-an-adaptive-form-template-using-template-editor
Sie können die Struktur und den anfänglichen Inhalt eines adaptiven Formulars unter Verwendung des Vorlagen-Editors angeben. Sie möchten beispielsweise, dass alle Formularautoren nur über wenige Textfelder, Navigationsschaltflächen und eine Senden-Schaltfläche in einem Registrierungsformular verfügen. Sie können eine Vorlage erstellen, mit der Autoren ein Formular erstellen können, das mit anderen Registrierungsformularen konsistent ist. Mit dem AEM Vorlagen-Editor können Sie:
- Kopf- und Fußzeilenkomponenten eines Formulars in der Strukturebene hinzufügen
- Den anfänglichen Inhalt für das Formular angeben.
- Legen Sie ein Design fest.
- Geben Sie Aktionen wie Senden, Zurücksetzen und Navigation fest.
Weitere Informationen finden Sie unter Vorlagen-Editor.
Erstellen einer adaptiven Formularvorlage aus CRXDE creating-an-adaptive-form-template-from-crxde
Anstatt die verfügbaren Vorlagen zu verwenden, können Sie eine Vorlage erstellen und sie zum Erstellen adaptiver Formulare verwenden. Benutzerdefinierte Vorlagen basieren auf verschiedenen Seitenkomponenten, die Container für adaptive Formulare und Seitenelemente wie Kopf- und Fußzeilen referenzieren.
Diese Komponenten können Sie aus der Basisseitenkomponente Ihrer Website erstellen. Alternativ können Sie auch die Seitenkomponente des adaptiven Formulars erweitern, das in den mitgelieferten Vorlagen verwendet wird.
Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Vorlage wie die Vorlage „simpleEnrollmentTemplate“ zu erstellen.
-
Navigieren Sie auf Ihrer Authoring-Instanz zu CRXDE Lite.
-
Erstellen Sie im Ordner /apps die Ordnerstruktur für Ihre Anwendung. Wenn der Anwendungsname beispielsweise "mycompany"lautet, erstellen Sie einen Ordner mit diesem Namen. Normalerweise enthält der Anwendungsordner Komponenten, Konfigurationen, Vorlagen, src und Installationsordner. Für dieses Beispiel reicht es aus, wenn Sie die Ordner „components“, „configuration“ und „templates“ erstellen.
-
Navigieren Sie zum Ordner „/libs/fd/af/templates“.
-
Kopieren Sie den Knoten
simpleEnrollmentTemplate
. -
Navigieren Sie zum Ordner /apps/mycompany/templates . Klicken Sie mit der rechten Maustaste darauf und wählen Sie Einfügen.
-
Benennen Sie bei Bedarf den kopierten Vorlagenknoten um. Nennen Sie ihn zum Beispiel „enrollment-template“.
-
Navigieren Sie zu „/apps/mycompany/templates/enrollment-template“.
-
Ändern Sie die Eigenschaften
jcr:title
undjcr:description
für den Knotenjcr:content
, um die Vorlage von der kopierten Vorlage zu unterscheiden. -
Der Knoten
jcr:content
der geänderten Vorlage enthält die KomponentenguideContainer
undguideformtitle
. Der ContainerguideContainer
enthält das adaptive Formular. Die Komponenteguideformtitle
zeigt den Anwendungsnamen, die Beschreibung und ähnliche Details an.Statt der Komponente
guideformtitle
können Sie eine benutzerdefinierte Komponente oder die Komponenteparsys
einfügen. Entfernen Sie zum Beispielguideformtitle
und fügen Sie eine benutzerdefinierte Komponente oder den Komponentenknotenparsys
hinzu. Vergewissern Sie sich, dass die Eigenschaftsling:resourceType
der Komponente auf die Komponente verweist und das Gleiche auch in der Dateicomponent.jsp
der Seite definiert ist. -
Navigieren Sie zu „/apps/mycompany/templates/enrollment-template/jcr:content“.
-
Öffnen Sie die Registerkarte Eigenschaften und setzen Sie die Eigenschaft
cq:designPath
auf „/etc/designs/mycompany“. -
Erstellen Sie nun für den Typ
cq:Page
den Knoten „/etc/designs/mycompany“.
Erstellen einer Seitenkomponente für adaptive Formulare create-an-adaptive-form-page-component
Die benutzerdefinierte Vorlage hat denselben Stil wie die Standardvorlage, da die Vorlage auf die Seitenkomponente /libs/fd/af/components/page/base verweist. Der Komponentenverweis befindet sich in der Eigenschaft sling:resourceType
unter dem Knoten „/apps/mycompany/templates/enrollment-template/jcr:content“. Da es sich bei der Basis um eine Kernproduktkomponente handelt, sollten Sie diese Komponente nicht ändern.
-
Navigieren Sie zum Knoten /apps/mycompany/templates/enrollment-template/jcr:content und setzen Sie die Eigenschaft
sling:resourceType
auf „/apps/mycompany/components/page/enrollmentpage“. -
Kopieren Sie den Knoten „/libs/fd/af/components/page/base“ in den Ordner „/apps/mycompany/components/page“.
-
Benennen Sie die kopierte Komponente in
enrollmentpage
um. -
(Nur bei bereits vorhandener Inhaltsseite) Führen Sie die folgenden Schritte (a-d) aus, wenn die Komponente
contentpage
bereits für Ihre Website vorhanden ist. Wenn die Komponentecontentpage
noch nicht für Ihre Website vorhanden ist, können Sie die EigenschaftresourceSuperType
so einstellen, dass sie auf die OOTB-Basisseite verweist.-
Setzen Sie die Eigenschaft
sling:resourceSuperType
für den Knotenenrollmentpage
auf „mycompany/components/page/contentpage“. Die Komponentecontentpage
ist die Basisseitenkomponente Ihrer Site. Sie kann durch andere Seitenkomponenten erweitert werden. Entfernen Sie Skriptdateien unterenrollmentpage
, außerhead.jsp
,content.jsp
undlibrary.jsp
. Die Komponentesling:resourceSuperType
, in diesem Fallcontentpage
, enthält alle diese Skripte. Kopf- und Fußzeile sowie Navigationsleiste werden aus der Komponentecontentpage
übernommen. -
Öffnen Sie die Datei
head.jsp
.Die JSP-Datei enthält die Zeile
<cq.include script="library.jsp"/>
.Die Datei
library.jsp
enthält die Client-Bibliothekguide.theme.simpleEnrollment
, die wiederum den Stil für das adaptive Formular enthält.Die Seitenkomponente
enrollmentpage
enthält eine exklusivehead.jsp
-Datei, durch die diehead.jsp
-Datei der Komponentecontentpage
überschrieben wird. -
Binden Sie alle Skripte in der Datei
head.jsp
für die Komponentecontentpage
in die Dateihead.jsp
für die Komponenteenrollmentpage
ein. -
Dem Skript
content.jsp
können Sie weiteren Seiteninhalt oder Verweise auf andere Komponenten hinzufügen, die beim Rendern einer Seite wiedergegeben werden. Beispiel: Wenn Sie die benutzerdefinierte Komponenteapplicationformheader
hinzufügen, fügen Sie der Komponente den folgenden Verweis in der JSP-Datei hinzu:<cq:include path="applicationformheader" resourceType="mycompany/components/applicationformheader"/>
Die benutzerdefinierte Komponente müssen Sie ebenso einfügen, wenn Sie der Vorlagenknotenstruktur eine
parsys
-Komponente hinzufügen.
-
Erstellen einer Client-Bibliothek für adaptive Formulare creating-an-adaptive-form-client-library
Die head.jsp
-Datei der Komponente enrollmentpage
der neuen Vorlage enthält eine Client-Bibliothek namens guide.theme.simpleEnrollment
. Die Standardvorlage verwendet auch diese Client-Bibliothek. Ändern Sie den Stil in der neuen Vorlage mit einer der folgenden Methoden:
- Definieren Sie ein benutzerdefiniertes Design, durch das Sie das Standarddesign
guide.theme.simpleEnrollment
ersetzen. - Definieren Sie eine neue Client-Bibliothek unter /etc/designs/mycompany. Schließen Sie die Client-Bibliothek nach dem Eintrag des Standarddesigns auf der JSP-Seite ein. Binden Sie alle überschriebenen Stile und zusätzlichen JavaScript-Dateien in dieser Client-Bibliothek ein.