3.6. Webforms è un potente generatore di moduli.
In questo video esploreremo come lavorare con il potente generatore di moduli Webform. Andiamo nella pagina dei moduli. Per creare moduli Webform dobbiamo attivare i moduli Webform e Webform UI. Se desideriamo visualizzare i Webform come pagine di nodo, dovremo attivare anche il modulo Webform Node.
In Drupal 6 e 7, Webform funzionava attraverso le pagine di nodo — il modulo veniva associato al tipo di contenuto Webform. In Drupal 8 e versioni successive, non è più necessaria una pagina nodo separata, poiché ogni Webform ha una propria pagina dedicata, e il modulo stesso può essere visualizzato come blocco in qualsiasi pagina.
Dopo aver abilitato il modulo Webform, possiamo iniziare a creare nuovi moduli.
Se hai abilitato il modulo Webform Node, il link per creare un Webform si trova in Contenuti → Aggiungi contenuto → Webform. Nella pagina di creazione aggiungi un titolo e una descrizione. Puoi anche selezionare un Webform esistente nel campo “Form”, oppure lasciarlo vuoto per crearne uno nuovo.
/node/add/webform
Per creare il modulo vero e proprio, vai nel menu Struttura → Webforms, da dove potrai poi inserirlo in una pagina nodo.
Attualmente abbiamo solo un modulo di contatto, quindi aggiungiamone uno nuovo. È possibile utilizzare il modulo predefinito, ma per comprendere meglio il funzionamento dei campi in Webform, ne creeremo uno da zero:
/admin/structure/webform
Ora possiamo aggiungere nuovi elementi al modulo:
Campo di testo – Nome
Campo telefono – Telefono
Il modulo Webform utilizza la Fields API di Drupal, quindi puoi usare qualsiasi tipo di campo disponibile per le entità del sito — nodi, blocchi, termini di tassonomia e altre entità.
Accedendo alla modifica di un campo, troverai numerose impostazioni. È possibile configurare campi dipendenti, cioè far apparire un campo solo quando un altro assume un determinato valore. Ad esempio, se il modulo di contatto consente di scegliere tra “persona fisica” e “persona giuridica”, puoi mostrare campi differenti in base alla selezione.
Puoi anche impostare la validazione dei campi tramite espressioni regolari. Inoltre, è possibile aggiungere validazioni personalizzate in modo programmatico utilizzando hook_form_alter()
in un modulo custom.
È possibile configurare classi CSS per i campi — ad esempio, se utilizzi Bootstrap per il layout, puoi assegnare classi di colonna al contenitore dei campi per disporli in più colonne, come col-md-6
per un layout a due colonne.
Nella sezione Form display puoi decidere se mostrare l’etichetta del campo, aggiungere descrizioni prima o dopo il campo, impostare un placeholder e definire lunghezza minima e massima.
Dobbiamo ancora aggiungere un campo Email per poter rispondere al mittente e un campo Textarea per il messaggio.
Impostazioni di Webform
Puoi configurare un messaggio da mostrare se il modulo non è disponibile.
Puoi sovrascrivere il testo del pulsante Submit e aggiungere classi di layout.
Impostazioni del wizard
Nei moduli multi-pagina puoi modificare le etichette dei pulsanti Avanti / Indietro.
Altre impostazioni
Configurazione del messaggio di ringraziamento dopo l’invio.
Visualizzazione del Webform come blocco nella colonna sinistra.
Impostazioni di notifica in Webform.