Drupal 7: come visualizzare in una vista tutti i campi disponibili di un termine della tassonomia associato al dato nodo

In Drupal 7 i termini della tassonomia si sono evoluti ad entità vere e proprie, o detto in altro modo, hanno ottenuto pari dignità di un qualunque nodo. Questo significa che è possibile arricchire ciascun termine con dei campi aggiuntivi, un po' come si era abituati a fare con i nodi e CCK in Drupal 6. In tal senso quindi è possibile ad esempio aggiungere un'immagine, un link, ecc…, a ciascun termine della tassonomia.

La gestione dei campi viene fatta a livello di vocabolario, quindi tutti i termini del medesimo vocabolario avranno a disposizione i medesimi campi (e questo è tutto sommato piuttosto logico).

Supponiamo ora di aver aggiunto a ciascun termine un'immagine ed un campo di testo con un link, ci si aspetterebbe di poter visualizzare tali campi nei risultati di una vista che elenca dei nodi nei quali compaiono i termini del vocabolario in questione.

Nell'esempio seguente (preso da un sito che sto sviluppando) il vocabolario, chiamato "Settimanali diocesani" è costituito dall'elenco dei settimanali diocesani del triveneto. Ogni termine, oltre ai valori predefiniti (name e description) comprende anche altri due campi aggiuntivi, un url al sito del giornale (in realtà un semplice campo di testo contenente l'url) ed il logo del giornale (un file d'immagine).

Drupal 7: Gestione campi dei termini del vocabolario

Il sito aggrega automaticamente le notizie dai feed RSS dei giornali, utilizzando il modulo feeds (non entro nel dettaglio), e crea dei semplici nodi (Feed News), composti da titolo, descrizione ed il nome del settimanale; quest'ultimo altro non è che il relativo termine della tassonomia (riferimento termine):

Drupal 7: Gestione campi del tipo di contenuto nodo

Se si va a costruire una vista blocco in modalità visualizzazione campi, per elencare tutte le "Feed News" presenti sul sito, ci si accorge, non senza un certo stupore che non è possibile aggiungere al risultato tutti i campi del termine della tassonomia, ma solo il semplice nome del termine (settimanale):

Drupal 7: Unico campo disponibile nella vista per elencare il termine del vocabolario associato al contenuto

In effetti nel filtro dei campi, i termini della tassonomia non sono elencati.

Drupal 7: Nell'elenco dei filtri dei campi della vista mancano i termini della tassonomia

I più accorti avranno notato che nella gestione campi del nodo, il termine della tassonomia è elencato come "Riferimento termine" e non come Taxonomy term o l'equivalente di Content Taxonomy Fields di Drupal 6. In effetti qui ci troviamo di fronte ad tipo "Riferimento termine" equivalente a quello che era in Drupal 6 un tipo "Riferimento nodo" (modulo "Node reference"). La nostra vista, così com'è può al massimo visualizzare nell'output il nome del termine della tassonomia, così come capitava in Drupal 6 dove si poteva al massimo visualizzare il titolo del nodo correlato, e come è mostrato nell'immagine sottostante (a meno che… poi vedremo):

Drupal 7: Nel risultato della vista viene mostrato il solo nome del termine

Non sembra esserci modo per visualizzare anche gli altri campi associati a quel termine, come il logo del giornale, il link e la descrizione. Come fare? La soluzione è in realtà piuttosto semplice, basta aggiungere alla vista una relazione esattamente con in Drupal 6 si poteva utilizzare una relazione per visualizzare i campi ulteriori del nodo correlato. Aggiungiamo una relazione:

Drupal 7: Aggiunta di una relazione

Di tipo Contenuto, Taxonomy terms on node:

Drupal 7: Filtro il tipo di relazione da utilizzare nella vista

Che configuro opportunamente:

Drupal 7: Configuro la relazione da utilizzare nella vista

Una volta che avrò applicato le modifiche, potrò aggiungere tutti i campi del termine della tassonomia ai campi della mia vista. Nell'elenco dei filtri sarà infatti ora disponibile la voce "Termine della tassonomia":

Drupal 7: Ora posso selezionare il termine della tassonomia nei filtri

Ed una volta selezionata, avrò a disposizione tutti i campi del singolo termine per la visualizzazione:

Drupal 7: I campi dei termini della tassonomia sono ora disponibili per la visualizzazione

In tal modo la mia vista potrà ora restituire al posto del semplice nome del termine al più linkato al termine stesso, qualcosa di ben più elegante; in questo caso ho inserito il logo del settimanale linkato al relativo sito web (qui manca ancora il logo reale, in sua vece c'è un placeholder):

Drupal 7: L'output della vista è sicuramente più interessante