Webform module
Webform e' il modulo contrib di riferimento per form in Drupal: oltre 70 tipi di campo, logica condizionale, multi-step, integrazioni email/CRM/Mailchimp, gestione invii, esportazione CSV. E' la scelta naturale per contact form, sondaggi, candidature, ordini.
Installazione
composer require drupal/webform drush en webform webform_ui
L'UI principale e' in /admin/structure/webform.
Creare un webform
Dalla UI si parte da template (Contact, Job application, Survey) o vuoto. Si aggiungono elementi via drag-and-drop: textfield, email, textarea, select, checkboxes, file upload, signature, rating, geolocation.
Elementi avanzati
- Computed Twig: campo calcolato da altri (es. totale prezzo)
- Composite: gruppi di campi riusabili (es. address con via/città'/CAP)
- Likert: scala 1-5 per sondaggi
- Captcha / reCAPTCHA: anti-spam
- Layout containers: flexbox per layout responsive del form stesso
Conditional logic
Ogni elemento può avere condizioni di visibilità: "mostra campo Azienda solo se Tipo cliente = Business". UI builder con AND/OR/NOT, niente JavaScript manuale.
Multi-step (Wizard)
I form lunghi si dividono in pagine wizard con barra di progresso. Ogni pagina può avere validazione propria, e gli utenti possono salvare draft (con account loggato) e riprendere.
Email handler
Ogni webform può avere multipli handler email: uno al cliente (conferma ricezione), uno al team commerciale, uno conditional ("se importo > 10k notifica anche direzione"). Template HTML personalizzabili con token.
Storage e privacy
Gli invii sono salvati nel DB Drupal di default. Per GDPR si configurano:
- Anonimizzazione automatica dopo N giorni
- Consenso esplicito (checkbox required)
- Esportazione dati su richiesta utente
- Disable storage (solo invio email, no salvataggio DB)
Esportazione
Gli invii si esportano in CSV, JSON, Excel con scelta colonne. Utile per analisi periodiche o backup.
API REST
Webform espone endpoint REST per submission programmatic: ricevere POST da frontend headless o app mobile. Si configura il permesso "Access POST submissions via REST".
Hai bisogno di aiuto?
Se vuoi un sito Drupal performante dal team di G Tech Group, scrivici tramite il modulo di contatto.