Il “modulo campi condizionali” contiene una serie di possibilità interessanti nel controllo della visualizzazione dei campi in un nodo. Trattiamo dunque dei campi all’interno del Tipo di Contenuto e non nelle viste. Il modulo può essere configurato in molti modi…qui viene utilizzato per risolvere un caso specifico che nasce da un problema concreto:
Nella realizzazione di un sito per un’Agenzia Immobiliare il cliente ci chiede di non mostrare nel pannello di amministrazione il campo prezzo (configurato come “Tipo di campo decimale” con prefisso € iniziale) se selezionato al suo posto un campo testo che visualizzi ad esempio “Trattativa riservata” oppure “Trattativa in sede”.
Procediamo dunque nella soluzione del problema, installiamo e attiviamo il modulo dal seguente indirizzo:
https://www.drupal.org/project/conditional_fields
A questo punto nel menu struttura del pannello di controllo di Drupal, visualizzeremo una nuova sezione “Field dependencies” dalla quale sarà possibile creare i campi condizionali. Nel nostro esempio abbiamo creato nel tipo di contenuto articolo due campi testo “Campo1” formattato come decimale con prefisso € (per replicare l’esigenza del cliente) e campo2 formattato come testo. Cliccando su questa voce accederemo all’amministrazione della dipendenza dei campi creando una relazione come quella mostrata dall’immagine sottostante:
In questo modo abbiamo configurato una relazione semplice tra i due campi (nell’area di amministrazione) che consente al gestore del sito una configurazione più ordinata nell’inserimento dei dati.
Nella prima relazione, il campo2 dipende dal campo1 e in particolare il campo2 è invisibile quando il campo1 è pieno. Nella seconda relazione il campo1 dipende dal campo2 e in particolare il campo1 è invisibile quando il campo2 è pieno.
In questo modo in fase di inserimento dei dati in corrispondenza dei due campi avviene che: scompare il campo2 quando il campo1 (quello del prezzo in €) contiene un valore, mentre scompare quando è il campo2 che contiene un dato.
Numerose altre personalizzazioni si possono ottenere selezionando le opzioni che contenute nel modulo.