Campi delle Entità
Le informazioni associate ad una Entità sono memorizzate nei suoi Campi. Usando una metafora, l'Entità è una cassettiera ed ogni suo Campo è un "cassetto" in grado di memorizzare uno specifico tipo di informazione (testo, numeri, immagini, file, riferimenti ad altre Entità eccetera).
L'Amministratore può aggiungere Campi a tipi e sottotipi di Entità. Ad esempio, è possibile aggiungere all'Utente Campi testuali per memorizzare nome e cognome della persona ed un Campo a lista di selezione per il sesso. La possibilità di aggiungere Campi ai tipi di Entità è fondamentale per la costruzione delle app con Drupal, perché permette di adattare le Entità alle specifiche esigenze della app, senza lavorare direttamente sulle tabelle del database di Drupal.
I concetti di questa Guida valgono per tutti i tipi di Entità. Li esemplificheremo operativamente parlando dei Contenuti.
Nome interno ed nome esterno (etichetta) del Campo
Ogni Campo ha un nome esterno ed un nome interno. Il nome esterno è l'etichetta che l'Amministratore assegna al Campo e col quale il Campo viene mostrato agli Utenti. Il nome interno è quello con cui Drupal identifica il Campo ed è composto automaticamente da field_ seguito dall'etichetta in caratteri minuscoli; ad esempio, il Campo con nome esterno "Cognome" è identificato in Drupal col nome interno field_cognome.
Mentre il nome esterno può essere il medesimo per più Campi, il nome interno deve essere univoco e non ci possono essere due Campi con lo stesso nome interno: se ciò accade, Drupal segnala un errore, invitando a modificare il nome interno del nuovo Campo:
![]() |
Anche se non ci sono regole per la scelta del nome interno dei Campi. suggerisco di aggiungervi il nome dell'Entità cui appartiene. Ad esempio, per il Campo "Stato" del tipo di Entità "Prestito" potresti digitare come nome interno "field_stato_prestito": ciò ti semplificherà il successivo riconoscimento del Campo.
Una volta assegnato, il nome interno non può più essere modificato, mentre il nome esterno può essere cambiato in qualunque momento. L'importanza dei nomi interni dei Campi sarà evidente nella costruzione delle Viste.
Tipi di Campi
Drupal mette a disposizione nativamente molto tipi di Campi, elencati quando si aggiunge un Campi ad un tipo di Entità:

Alcuni moduli aggiuntivi aggiungono ulteriori tipi di Campi, ad esempio coordinate geografiche.
Ogni tipo di Campo ha una propria configurazione specifica. Ad esempio: il Campo di tipo Data e ora (che per semplicità chiamerò "data") può essere configurato perché accetti solo la data senza orario o per accogliere un periodo anziché una sola data; il Campo di tipo Selection List deve essere configurato specificando quali valori elencare; il Campo di tipo Caricamento File (nel seguito "File") prevede due sottotipi: Immagine e File, per ognuno dei quali sono configurabili i tipi di file caricabili.
Formato dei Campi testuali
In particolare, per i Campi che devono contenere testo esistono due tipi: Testo semplice e Testo formattato. Nella configurazione dei Campi di tipo Testo formattato occorre specificare quale formato può accettare, Un Formato è una configurazione predefinita, che elenca quali formattazioni (es. grassetto, sottolineato, font) sono ammesse e quali trasformazioni verranno effettuate sul testo (es. trasformazione di indirizzi internet in link cliccabili, sostituzione di Token coi corrispondenti valori). I Formati disponibili sono elencati e modificabili in Configurazione - Formati testo e editor.

Per ogni Formato l'Amministratore può configurare quali Ruoli di Utente possono utilizzarlo, se attivare o meno l'editor visuale, quali comandi dell'editor visuale mettere a disposizione, quali trasformazioni attivare ecc. Per motivi di sicurezza, di solito si assegnano Formati più completi e potenti agli Utenti con maggiori privilegi nella app, assegnando agli Utenti "base" un formato con meno capacità.
Quando si aggiunge un Campo testuale ad una Entità, si possono specificare uno o più Formati per quel Campo: quando compila quel Campo, l'Utente può scegliere uno dei Formati ammessi per quel Campo e autorizzati per i suoi Ruoli.
| ATTENZIONE: Se un Utente non è autorizzato ad usare nessuno dei Formati ammessi per un Campo testuale, l'Utente non potrà scrivere in quel Campo. |
Riferimenti tra Entità
Tra i vari tipi di Campi, riveste una particolare importanza il tipo Riferimento (reference), perché consente di costruire una relazione tra due p più Entità. Ad esempio, se nella app definiamo il tipo di Contenuto "Album" ed il tipo di Contenuto "Canzone" ed aggiungiamo al tipo di Contenuto "Canzone" un Campo Riferimento che rimanda al tipo di Contenuto "Album", possiamo gestire la presenza di una Canzone in un Album. Possiamo rappresentare questa relazione come "Canzone → Album" perché, conoscendo la Canzone, possiamo arrivare all'Album in cui è inserita. Quando si compila il Campo Riferimento "Album" di una Canzone, Drupal obbliga l'Utente a selezionare uno degli Album già memorizzati nella app.
Campi predefiniti
Ogni tipo di Entità ha Campi predefiniti. Ad esempio, gli Utenti hanno i Campi predefiniti Nome utente, Password, Email. I Termini di Tassonomia hanno Campi che servono a collocare il Termine nella gerarchia della Tassonomia (Genitore, Profondità e Peso). I Contenuti hanno sempre un Campo Titolo (compilato dall'Utente), un Campo Pubblicato (che indica se il Contenuto è visibile o nascosto) ed i seguenti Campi predefiniti compilati automaticamente da Drupal ma modificabili dall'Amministratore:
| Autore | Riferimento all'Utente che ha creato il Contenuto |
| Creato il | Data e ora di creazione del Contenuto |
| Modificato | Data e ora di ultima modifica del Contenuto |
Di default, I Campi predefiniti non sono mostrati agli Utenti, ma vedremo come esporli con le Viste.
