Creazione di un modello di modulo adattivo personalizzato creating-a-custom-adaptive-form-template
Prerequisiti prerequisites
-
Informazioni su Modello pagina e Authoring moduli adattivi dell'AEM
-
Informazioni sulle librerie lato client dell'AEM
Modello di modulo adattivo adaptive-form-template
Un modello di modulo adattivo è un modello di pagina AEM specializzato, con determinate proprietà e struttura di contenuto utilizzate per creare il modulo adattivo. Il modello dispone di layout, stili e struttura di contenuto iniziale di base preconfigurati.
Dopo la creazione di un modulo, le eventuali modifiche apportate alla struttura originale del contenuto del modello non verranno applicate al modulo.
Modelli di modulo adattivo predefiniti default-adaptive-form-templates
QuickStart per AEM fornisce i seguenti modelli di moduli adattivi:
- Modello di sondaggio: consente di creare un modulo adattivo a pagina singola utilizzando il layout reattivo con più colonne configurate. Il layout si regola automaticamente in base alle dimensioni delle varie schermate in cui si desidera visualizzare il modulo.
- Modello di iscrizione semplice: consente di creare un modulo adattivo con più passaggi utilizzando un layout di procedura guidata. In questo layout è possibile specificare un'espressione di completamento del passaggio per ogni passaggio, che viene convalidata prima che la procedura guidata passi al passaggio successivo.
- Modello di iscrizione a schede: consente di creare un modulo adattivo con più schede utilizzando un layout tabulazioni a sinistra, in cui è possibile visitare le schede in qualsiasi ordine casuale.
- Modello di iscrizione avanzato: consente di creare un modulo con più schede e procedura guidata. Utilizza un layout tabulazioni a sinistra che consente di visitare le schede in qualsiasi ordine. Utilizza i servizi di progettazione Adobe Document Cloud per la firma e la verifica.
- Modello vuoto: consente di creare un modulo senza intestazione, piè di pagina e contenuto iniziale. È possibile aggiungere componenti quali caselle di testo, pulsanti e immagini. Il modello vuoto ti consente di creare un modulo che puoi incorporare nelle pagine del sito AEM.
Per questi modelli la proprietà sling:resourceType
è impostata sul componente pagina corrispondente. Il componente Pagina esegue il rendering della pagina CQ, contenente il contenitore di moduli adattivi, che a sua volta esegue il rendering del modulo adattivo.
La tabella seguente enumera l’associazione tra modelli e componente Pagina:
Creazione di un modello di modulo adattivo tramite l’editor di modelli creating-an-adaptive-form-template-using-template-editor
Puoi specificare la struttura e il contenuto iniziale di un modulo adattivo utilizzando l’Editor modelli. Ad esempio, si desidera che tutti gli autori di moduli dispongano di poche caselle di testo, pulsanti di spostamento e un pulsante di invio in un modulo di iscrizione. È possibile creare un modello utilizzabile dagli autori per creare un modulo coerente con altri moduli di iscrizione. L’editor di modelli AEM consente di:
- Aggiungere i componenti intestazione e piè di pagina di un modulo nel livello struttura
- Fornire il contenuto iniziale del modulo.
- Specifica un tema.
- Specifica azioni quali invio, ripristino e navigazione.
Per ulteriori informazioni, vedere Editor modelli.
Creazione di un modello di modulo adattivo da CRXDE creating-an-adaptive-form-template-from-crxde
Invece di utilizzare i modelli disponibili, puoi creare un modello e utilizzarlo per creare moduli adattivi. I modelli personalizzati si basano su vari componenti di pagina che fanno riferimento a contenitori di moduli adattivi ed elementi di pagina, come intestazione e piè di pagina.
Puoi creare questi componenti utilizzando il componente pagina base per il tuo sito web. In alternativa, puoi estendere il componente Pagina del modulo adattivo utilizzato dai modelli predefiniti.
Per creare un modello personalizzato, ad esempio simpleEnrollmentTemplate, effettuare le seguenti operazioni.
-
Passa a CRXDE Lite nell’istanza di authoring.
-
Nella directory /apps, crea la struttura di cartelle per l’applicazione. Ad esempio, se il nome dell’applicazione è società, crea una cartella con questo nome. In genere, la cartella dell'applicazione contiene componenti, configurazione, modelli, src e directory di installazione. Per questo esempio, crea le cartelle dei componenti, della configurazione e dei modelli.
-
Passa alla cartella /libs/fd/af/templates.
-
Copia il nodo
simpleEnrollmentTemplate
. -
Passa alla cartella /apps/mycompany/templates. Fare clic con il pulsante destro del mouse e selezionare Incolla.
-
Se necessario, rinominate il nodo modello copiato. Ad esempio, rinominarlo come modello di iscrizione.
-
Passa alla posizione /apps/mycompany/templates/enrollment-template.
-
Modificare le proprietà
jcr:title
ejcr:description
per il nodojcr:content
per distinguere il modello dal modello copiato. -
Il nodo
jcr:content
del modello modificato contiene i componentiguideContainer
eguideformtitle
.guideContainer
è il contenitore che contiene il modulo adattivo. Il componenteguideformtitle
visualizza il nome, la descrizione e così via dell'applicazione.Invece di
guideformtitle
, puoi includere un componente personalizzato o il componenteparsys
. Rimuovere ad esempioguideformtitle
e aggiungere un componente personalizzato o il nodo del componenteparsys
. Assicurarsi che la proprietàsling:resourceType
del componente faccia riferimento al componente e che lo stesso sia definito nel filecomponent.jsp
della pagina. -
Passa alla posizione /apps/mycompany/templates/enrollment-template/jcr:content.
-
Aprire la scheda Proprietà e modificare il valore della proprietà
cq:designPath
in /etc/designs/mycompany. -
Ora crea un nodo /etc/designs/mycompany per il tipo
cq:Page
.
Creare un componente pagina modulo adattivo create-an-adaptive-form-page-component
Il modello personalizzato ha lo stesso stile del modello predefinito perché il modello fa riferimento al componente pagina /libs/fd/af/components/page/base. Il riferimento al componente è la proprietà sling:resourceType
definita nel nodo /apps/mycompany/templates/enrollment-template/jcr:content. Poiché base è un componente di base, non modificare questo componente.
-
Passa al nodo /apps/mycompany/templates/enrollment-template/jcr:content e modifica il valore della proprietà
sling:resourceType
in /apps/mycompany/components/page/enrollmentpage -
Copia il nodo /libs/fd/af/components/page/base nella cartella /apps/mycompany/components/page.
-
Rinomina il componente copiato in
enrollmentpage
. -
(Solo se si dispone già di una pagina di contenuto) Eseguire i passaggi seguenti (a-d), se si dispone di un componente
contentpage
esistente per il sito Web. Se non disponi di un componentecontentpage
esistente per il sito Web, puoi lasciare la proprietàresourceSuperType
per puntare alla pagina di base predefinita.-
Per il nodo
enrollmentpage
, impostare il valore della proprietàsling:resourceSuperType
su mycompany/components/page/contentpage. Il componentecontentpage
è il componente della pagina base per il sito. Altri componenti della pagina possono estenderlo. Rimuovere i file di script inenrollmentpage
, ad eccezione dihead.jsp
,content.jsp
elibrary.jsp
. Il componentesling:resourceSuperType
, che in questo caso ècontentpage
, include tutti questi script. Le intestazioni, inclusi la barra di navigazione e il piè di pagina, sono ereditati dal componentecontentpage
. -
Aprire il file
head.jsp
.Il file JSP contiene la riga
<cq.include script="library.jsp"/>
.Il file
library.jsp
contiene la libreria clientguide.theme.simpleEnrollment
, che contiene lo stile del modulo adattivo.Il componente pagina
enrollmentpage
ha un filehead.jsp
esclusivo che sostituisce il filehead.jsp
del componentecontentpage
. -
Includere tutti gli script nel file
head.jsp
per il componentecontentpage
nel filehead.jsp
per il componenteenrollmentpage
. -
Nello script
content.jsp
è possibile aggiungere contenuto pagina aggiuntivo o riferimenti ad altri componenti inclusi durante il rendering di una pagina. Ad esempio, se aggiungi il componente personalizzatoapplicationformheader
, accertati di aggiungere il seguente riferimento al componente nel file JSP:<cq:include path="applicationformheader" resourceType="mycompany/components/applicationformheader"/>
Analogamente, se si aggiunge un componente
parsys
nella struttura del nodo del modello, includere anche il componente personalizzato.
-
Creazione di una libreria client per moduli adattivi creating-an-adaptive-form-client-library
Il file head.jsp
del componente enrollmentpage
per il nuovo modello include una libreria client guide.theme.simpleEnrollment
. Il modello predefinito utilizza anche questa libreria client. Modifica lo stile nel nuovo modello utilizzando uno dei seguenti metodi:
- Definire un tema personalizzato e sostituire il tema predefinito
guide.theme.simpleEnrollment
con il tema personalizzato. - Definisci una nuova libreria client in /etc/designs/mycompany. Includi la libreria client dopo la voce del tema predefinito nella pagina jsp. Includi tutti gli stili sostituiti e file Java Script aggiuntivi in questa libreria client.