Come abbiamo visto negli articoli precedenti, in Drupal i contenuti sono salvati come nodi ed ogni nodo ha un tipo che ne definisce la struttura, quindi il tipo di un nodo in Drupal prende il nome di “Tipo di contenuto“.
Organizzare e separare le informazioni fornisce un grande potere nell’amministrazione del sito e nella presentazione dei contenuti dinamici.
Un Tipo di contenuto è una combinazione predefinita di campi correlati, che presi tutti insieme definiscono la struttura di un particolare tipo di Nodo: A seconda del Tipo di Contenuto di un Nodo, esso avrà o meno disponibile un insieme differente di campi ognuno con un ruolo ed uno scopo preciso.
I campi presenti nei Nodi non variano quindi dal singolo Nodo al singolo Nodo ma dal Tipo di contenuto del Nodo al tipo di contenuto dell’altro Nodo; comunque non tutti i campi sono opzionali e variabili: Ad esempio tutti i Tipi di contenuto in Drupal hanno in comune almeno il campo “titolo” e l’identificatore univoco per i nodi creati “nid”.
Quando si crea un nuovo Nodo, in base al Tipo di contenuto selezionato, si attiveranno sul nuovo Nodo le caratteristiche peculiari del Tipo di contenuto scelto.
Per esempio il Tipo di Contenuto “pagina base” potrà avere dei campi “file allegati”, un campo testuale “titolo” e un campo testuale “corpo”, ognuno dei quali avrà un valore e un ruolo preciso nella struttura della “pagina base”.
Altri esempi possono essere la “pagina del libro” usata per creare un libro virtuale che ha un campo “numero di pagina”, oppure “argomento di discussione” usato in un forum, o “post del blog” usato in un sito con un blog.
Oltre che per variare i campi disponibili, i Tipi di contenuto possono essere usati anche per classificare i contenuti o effettuare ricerche filtrate sugli stessi, presentando ad esempio nella sezione blog del sito solo i Tipi di contenuto “post del blog” ed escludendo quelli di tipo “pagina base”.
I CMS per lo più forniscono solo alcuni tipi di contenuto predefiniti, con quali si creano tutti i contenuti, adattandosi in vari modi quando i tipi di contenuto non sono esattamente quello che servono.
Ad esempio in WordPress abbiamo due tipi di contenuto predefiniti: Le pagine e gli articoli del blog, mentre in Joomla abbiamo un solo tipo di contenuto predefinito: L’articolo. Per entrambi i CMS esistono estensioni che permettono di creare nuovi tipi di contenuto, ma la funzionalità non è facilmente integrabile con altri plugin ne facilmente personalizzabile.
In Drupal, invece, la definizione del tipo di contenuto è alla base della strutturazione del sito e viene lasciata in mano a chi crea il sito, quindi quando crei un sito Drupal avrai sia il potere che la responsabilità di valutare quali e quanti tipi di contenuto ti servano per soddisfare al meglio tutte le esigenze delle pagine e dei contenuti che vuoi creare.
Drupal ti offre la possibilità di creare molto facilmente nuovi Tipi di contenuto estendendo quelli esistenti con nuovi campi e caratteristiche, ad esempio per creare i tipi di contenuto “pagine di un libro” o “articoli di un blog”.
Se ad esempio tu stessi creando un sito per agenzie immobiliari, potrebbe venirti utile creare un tipo di contenuto “proprietà ”, che contenga tutti campi utili per salvare e presentare i dati di una proprietà immobiliare in vendita, quali la superficie, il prezzo, la zona, ecc..
Se nel tuo sito volessi poi aggiungere un blog o una sezione notizie, allora ti verrebbe comodo utilizzare un diverso tipo di contenuto dedicato al blog, quindi creeresti un tipo di contenuto “articolo” che conterrebbe il testo centrale, il titolo, una immagine e non avrebbe niente a che fare con il tipo di contenuto “proprietà ”.
Nella sua installazione standard, Drupal offre una serie di tipi di contenuto preconfigurati, ad esempio: “Notizia”, “Pagina statica”, ecc.. con i quali inserire contenuti con strutture diverse per scopi diversi.
Oltre ai tipi di contenuto creati manualmente e a quelli preconfigurati da Drupal, possono comparire nuovi tipi di contenuto a seguito dell’attivazione di Moduli, su cui i moduli stessi implementano le loro specifiche funzionalità , ad esempio un modulo per inviare newsletter potrebbe creare un nuovo Tipo dei contenuto “newsletter da inviare” che conterrebbe il contenuto della mail inviata.