In Drupal il concetto di Node e Content Type sono due facce della stessa medaglia. Non può esistere l'uno senza l'altro.
Possiamo dire che il loro legame è un rapporto di "Regola" e "Applicazione della regola". Facciamo degli esempi per capire meglio perchè questi concetti sono la base per capire il cms Drupal e spesso restano argomenti astratti. Un pò come a scuola quando si dice agli insegnanti di aver capito ed invece si hanno resistenze mentali alla comprensione (mi faccio domanda e risposta, cerco di interpretare perchè all'inizio anche io ho avuto gli stessi problemi).
I mattoncini si chiamano Node
In Drupal ogni pezzo di contenuto è un Node. Un articolo è un Node. Una pagina è un Node. Un annuncio immobiliare è un Node.
I mattoncini di Drupal: il concetto di Node
In WordPress, quando crei qualcosa, pensi subito a un "Articolo" o a una "Pagina". In Drupal, invece, usiamo un termine unico per tutto: il Node (che in italiano potremmo tradurre come "Nodo").
Non farti spaventare dal nome tecnico. Un Node è semplicemente "una cosa" nel tuo sito.
- Scrivi un articolo? È un Node.
- Crei una pagina di servizi? È un Node.
- Inserisci un annuncio per una casa? È un Node.
L'esempio del negozio di scarpe
Per capire meglio, immagina un grande magazzino di scarpe. Ogni singola scatola sugli scaffali ha un'etichetta con un codice a barre univoco. Quel codice dice al magazziniere: "Questa è una scatola specifica del mio negozio".
In Drupal, quel codice si chiama Node ID (o abbreviato nid). Ogni contenuto che crei riceve il suo numero identificativo.
- La scatola numero 1 è il tuo articolo del blog.
- La scatola numero 2 è la pagina "Chi siamo".
- La scatola numero 3 è l'annuncio "Appartamento in Via Roma".
Ognuna è una scatola separata, ognuna è un Node.

Cosa c'è dentro la scatola? (I Campi)
Se apriamo la scatola del nostro annuncio immobiliare (il Node 3), cosa troviamo? Troviamo una serie di schede con le informazioni specifiche. In Drupal, queste informazioni si chiamano Fields (Campi).
Dentro la scatola "Appartamento in Via Roma" troveremo:
- Title (Titolo): Appartamento in Via Roma-
- Price (Prezzo): 250.000 euro
- Surface (Metri quadri): 85 mq
- Image (Foto): la foto della casa.
Attenzione: Il titolo non è un Node. Il prezzo non è un Node. Sono solo pezzi di carta dentro la scatola. Il Node è il contenitore che tiene tutto insieme. Cioè i dati che inseriamo attraverso i campi.

L'indirizzo del contenuto (URL)
Quando navighi in un sito Drupal, potresti imbatterti in indirizzi web (URL) fatti così:
tuo-sito.com/node/3
Questo è il modo in cui Drupal parla con il suo database. Quel link significa: "Vai in magazzino, prendi la scatola numero 3, aprila e mostrami cosa c'è dentro".
Drupal apre la scatola, legge i Fields (titolo, prezzo, ecc.) e li impagina in una bella pagina web per il visitatore.

Perché questo sistema è così potente?
In WordPress, l'articolo è la pagina. In Drupal, la scatola (Node) esiste indipendentemente da come decidi di mostrarla.
Questo ti dà una libertà incredibile. Poiché le informazioni sono separate in scatole numerate, tu puoi decidere di:
- Mostrare la scatola da sola come una pagina intera.
- Prendere solo il "Prezzo" e la "Foto" di dieci scatole diverse e metterli tutti insieme in una lista (usando le Views, di cui parleremo in seguito).
- Prendere l'indirizzo della scatola e mostrarlo come un puntino su una mappa.
In breve: il Node è il modo in cui Drupal tiene ordinati i tuoi contenuti. Tu riempi le scatole, e Drupal si occupa di non perderle mai di vista.
Riassunto veloce:
- Node = Una scatola con un numero univoco.
- Fields = Il contenuto della scatola (titolo, prezzo, foto).
- node/3 = L'istruzione per "aprire la scatola numero 3".
Il "Progetto" delle scatole: il Content Type
Abbiamo visto che ogni annuncio della nostra agenzia è una scatola chiamata Node. Ma come fa Drupal a sapere che dentro la scatola dell'appartamento deve chiederci il "Prezzo", mentre nella scatola di un articolo del blog deve chiederci l' "Autore"?
La risposta è il Content Type (Tipo di Contenuto).
Se il Node è la scatola fisica, il Content Type è lo stampo (o il modulo predefinito) che usiamo per crearla. Immaginiamo al Content Type come se fosse il macchinario che serve per produrre quelle scatole ognuna con determinate caratteristiche ovvero con specifici dati (Fields)
Perché abbiamo bisogno dello "stampo"?
Perchè creando un Content Type chiamato "Annuncio Immobiliare", noi diciamo a Drupal: "Ogni volta che creo una scatola di questo tipo, prepara sempre questi scomparti (Fields):"
- Un posto per il Titolo.
- Un posto per il Prezzo.
- Un posto per le Foto.
- Un posto per la Descrizione.
- Una mappa
L'esempio del modulo prestampato
Pensa al Content Type come a un modulo di carta prestampato che si trova dentro la scatola. Quando un nuovo agente entra in ufficio per inserire una casa, non prende un foglio bianco. Prende il modulo "Annuncio Immobiliare".
- Il modulo ha già gli spazi vuoti con le etichette (Prezzo, MQ, Zona).
- L'agente deve solo riempire gli spazi.
- Una volta compilato, quel foglio diventa un Node.
In Drupal puoi avere tanti "stampi" diversi
La cosa fantastica è che puoi creare tutti i Content Type che vuoi. Nel sito della tua agenzia potresti avere:
- Content Type "Immobile": con i campi prezzo, vani e classe energetica.
- Content Type "Agente": con i campi nome, foto del volto e numero di telefono.
- Content Type "Articolo": con i campi testo, categoria e data.
Così, ogni volta che aggiungi un contenuto, Drupal sa già quali domande farti e come organizzare i dati.
Perché è comodo per chi usa WordPress?
In WordPress hai solo due stampi principali: "Articolo" e "Pagina". Se vuoi aggiungere il campo "Prezzo" a un articolo, devi installare dei plugin esterni. In Drupal, creare uno stampo su misura (un Content Type) con tutti i campi che desideri è una funzione base. Non serve nessun plugin: è nel DNA del sistema.
In sintesi:
- Content Type: È il progetto, il modulo vuoto (lo stampo) che si trova nella scatola.
- Node: È il risultato finale, la scatola piena di dati (il foglio compilato).
Content Type (Lo Stampo) + Dati Inseriti = Node (Il Risultato) cioè la scatola
quindi possiamo dire che node e content type sono due concetti collegati?
Assolutamente sì! Sono due facce della stessa medaglia. Non può esistere l'uno senza l'altro.
Per chiudere il discorso e fissare bene il concetto, possiamo dire che il loro legame è un rapporto di "Regola" e "Applicazione della regola".
Il legame indissolubile tra Content Type e Node
Pensa a loro come al rapporto che c'è tra una Ricetta e la Torta:
- Il Content Type è la Ricetta: Ti dice quali ingredienti servono (Farina, Uova, Zucchero). La ricetta non si mangia, è solo un foglio di istruzioni.
- Il Node è la Torta: È l'oggetto reale che hai cucinato seguendo la ricetta. Se la ricetta dice "Farina", la tua torta avrà 500g di farina. Se la ricetta cambia e dice "aggiungi Cioccolato", la prossima torta che farai avrà il cioccolato.
Perché è importante capire che sono collegati?
Perché in Drupal, ogni volta che vorrai creare un nuovo contenuto, il sistema ti farà sempre la stessa domanda: "A quale Content Type deve appartenere questo Node?".
Non puoi creare un Node "nel vuoto". Deve sempre seguire le regole di un Content Type.
- Scegli il Content Type (es. Annuncio Immobiliare).
- Inserisci i dati (es. "Villa Bella", "300.000€").
- Salvi il Node (ecco l'annuncio online!).
Un piccolo trucco per non confondersi mai più
Se ti trovi in difficoltà, usa questa frase:"
Il Content Type è il TIPO di cosa che sto creando, il Node è la COSA specifica che ho creato."
- Tipo: Recensione di un film → Cosa: La recensione di "Matrix".
- Tipo: Scheda Prodotto → Cosa: Il trapano "Modello X".
- Tipo: Annuncio Immobiliare → Cosa: L'appartamento in Via Roma.
Spero di essere stato chiaro e aver contribuito a dissolvere uno dei concetti che in Drupal spesso restano astratti. Questo articolo sarà parte di un ebook dal titolo "Drupal Opens Minds - Learn Drupal. Elevate Your Skills" presto in distribuzione.
Daniele Venditti