1.7. Campo, Entità: lavorare con campi ed entità.
In Drupal esistono due moduli straordinari: Fields e Field UI. Essi permettono di allegare diversi campi agli oggetti (nodi, commenti, utenti, termini di tassonomia), i quali vengono creati tramite il modulo Entity. Grazie alla combinazione di Entity + Fields è possibile realizzare qualsiasi tipo di relazione tra oggetti del mondo reale presenti sul sito. Ad esempio, possiamo avere un’azienda, con diversi reparti, e in ciascun reparto dei dipendenti. Creiamo quindi un vocabolario di tassonomia “Reparti”, elenchiamo al suo interno tutti i reparti aziendali, e poi creiamo un tipo di contenuto “Dipendente” al quale allegheremo un campo per il reparto.
In questo modo otterremo non solo le pagine dei reparti e dei dipendenti, ma anche un catalogo collegato. In questa lezione costruiremo proprio una directory di reparti e dipendenti, ma per ora è importante capire che Drupal permette di configurare rapidamente l’aggiunta di vari tipi di oggetti e di impostare relazioni tra essi.
Prima di iniziare la lezione, assicurati che i moduli Entity, Field, Field UI e Taxonomy siano abilitati.
Creiamo un vocabolario di tassonomia chiamato Reparti (abbiamo già visto come creare vocabolari di tassonomia in questa lezione):
Ora creiamo il tipo di contenuto Dipendente (abbiamo già visto come aggiungere un tipo di contenuto in una lezione precedente). Possiamo rinominare il campo del titolo in Nome completo:
Facciamo clic su Gestisci campi:
Gestione dei campi
In questa scheda possiamo aggiungere campi ai nostri tipi di contenuto (così come ad altre entità: commenti, utenti, ecc.). Aggiungiamo ora un collegamento al vocabolario “Reparti”:
Ogni dipendente ha anche una posizione lavorativa: aggiungiamo un campo Posizione. Come tipo di campo selezioniamo Testo (campo di testo semplice).
Aggiungiamo anche un campo Data di nascita (assicurati che il modulo Datetime sia attivo):
Nel tipo di data selezioniamo Solo data:
Rinominiamo il campo Body in Su di me:
Rinominiamo l’etichetta:
Abbiamo quindi aggiunto diversi campi per ogni dipendente (nella prossima lezione aggiungeremo anche un campo Foto per caricare le immagini dei dipendenti). Ora, nella pagina di creazione dei dipendenti, saranno disponibili questi nuovi campi.
Se vuoi modificare l’ordine dei campi nel modulo di modifica del nodo, vai alla scheda Gestisci visualizzazione del modulo.
Gestisci visualizzazione del modulo
In questa scheda gestiamo l’ordine e la disposizione dei campi nel modulo di creazione del contenuto. L’ordine in cui le informazioni saranno mostrate nella pagina del nodo viene invece impostato nella scheda Gestisci visualizzazione.
Gestisci visualizzazione
Possiamo nascondere il campo Reparto nella visualizzazione teaser del nodo, poiché nella pagina di un reparto saranno mostrati solo i dipendenti appartenenti a quel reparto. Tuttavia, possiamo visualizzare il campo Reparto nella pagina completa del nodo, in modo da poter tornare facilmente alla pagina del reparto.
È inoltre necessario personalizzare il formato della data di nascita in modo che venga mostrata solo la data, senza l’orario. Per farlo, clicchiamo sull’ingranaggio e impostiamo il formato desiderato:
Non dimenticare di salvare dopo ogni modifica. Lo stesso vale per la visualizzazione predefinita (se non configuriamo la visualizzazione “Full content”, Drupal utilizzerà quella “Default” per il nodo completo).
Ora possiamo aggiungere i dipendenti.
Se vai alla pagina di modifica del vocabolario “Reparti”, troverai anche le schede per la gestione dei campi di tassonomia dei reparti.
Così, puoi aggiungere campi per ogni reparto (ad esempio il numero di dipendenti o il logo del reparto).
Puoi fare la stessa cosa anche con gli utenti del sito, nella pagina Impostazioni account:
/admin/config/people/accounts
Ora che sai che è possibile aggiungere campi a qualsiasi entità, puoi decidere se utilizzare la tassonomia, gli utenti o i nodi per le tue relazioni. Ad esempio, invece di usare un vocabolario di tassonomia, puoi creare un tipo di contenuto “Reparto” e collegarlo ai “Dipendenti” tramite il modulo Entity Reference, che consente di creare campi di riferimento tra entità.
La possibilità di aggiungere campi in Drupal, unita alla potenza del modulo Views, offre possibilità immense per la creazione di siti complessi. Anche se non hai capito tutto subito, puoi tranquillamente passare alla lezione successiva.