Tag Cloud in Drupal con Views e Taxonomy

Pubblicato da Nicola Rainiero il 25-11-2012 (aggiornato il 12-07-2015)

Un ottimo mezzo per catalogare i contenuti in Drupal è la tassonomia, funzione molto utile presente già nel core che permette di contrassegnare i propri articoli con una o più parole chiave (meglio noti come tag). In questa guida farò vedere come si può creare un blocco view per la rappresentazione visiva di tutti i tag tradotti per la lingua selezionata o predefinita, la cosiddetta nuvola o tag cloud.

La tassonomia in Drupal viene implementata mediante il modulo integrato Taxonomy che permette di classificare i contenuti, definendo i vocabolari contenenti termini correlati fra loro e assegnandoli ai tipi di contenuto. Il manuale online è una fonte preziosa di informazioni.

Alcuni tipi di contenuto come gli articoli hanno già il campo abilitato, altri come il blog o la pagina base richiedono l'inserimento mediante l'apposito form (Aggiungi un campo esistente) dalla voce gestisci campi raggiungibile a questo indirizzo: http://mio_sito/admin/structure/types.

Come aggiungere il campo per i Tag ai Tipi di contenuto
Come aggiungere il campo per i Tag ai Tipi di contenuto

La parte più difficile secondo me è la scelta delle parole chiave più adatte a descrivere gli articoli e soprattutto quando si realizza un sito multilingua la gestione delle traduzioni o meno dei tag.

Multilingual Options

Nel mio caso ho configurato il menu presente in http://mio_sito/admin/structure/taxonomy/tags/edit abilitando la voce "Translate. Different terms will be allowed for each language and they can be translated." e di volta in volta prima di pubblicare un articolo valuto il tipo di tag da inserire. Se sono già esistenti non ci sono problemi (la traduzione avviene in automatico a seconda della lingua scelta). Se devono essere ancora inizializzati, devo decidere se necessitano o meno di essere localizzati.

Impostazioni per avere la tassonomia muli-lingua
Impostazioni per avere la tassonomia muli-lingua

Per esempio il tag pdf non richiede traduzione e quindi se dovessi usarlo per la prima volta in un articolo, metto Indipendente dalla lingua il selettore Lingua per il primo salvataggio dell'articolo e poi lo aggiusto con la lingua definitiva. Viceversa se è un nuovo tag che poi dovrà essere localizzato salvo l'articolo nella lingua finale e poi vado in http://mio_sito/admin/structure/taxonomy/tags e personalizzo la traduzione cliccando sul corrispettivo link modifica. Fermo restando che si può fare il tutto da questa ultima pagina posizionandosi su Aggiungi termine.

Tag Cloud

Wikipedia lo descrive come una nuvola di etichette (in inglese tag cloud), cioè una rappresentazione visiva delle etichette (tag) o parole-chiave usate in un sito web. Queste possono essere visualizzare principalmente in due modi:

  • per stile, più il tag è presente negli articoli più grande sarà la dimensione del font che lo descrive;
  • per conteggio, viene riportato tra parentesi il numero di volte che compare.

In Drupal è presente un modulo aggiuntivo chiamato TagCloud che permette di realizzarlo senza alcuno sforzo, ma quando lo avevo provato non teneva conto della localizzazione dei tag e non mi permetteva di personalizzare il loro ordinamento. Per mia fortuna si può fare il tutto con Views ottenendo un blocco di tutto rispetto:

Il tag cloud realizzato con Views
In italianoIn inglese

Tag cloud con Views

Per prima cosa bisogna definire una nuova vista da http://mio_sito/admin/structure/views e creare un blocco in questo modo:

Impostazioni il blocco Tag Cloud 

Si va in Advanced e si aggiunge in CONTEXTUAL FILTERS la seguente voce Termine della tassonomia: ID Termine con queste impostazioni:

1 di 22 di 2
  

Poi in RELATIONSHIPS si aggiunge Termine della tassonomia: Contenuto using Tag

Infine si aggiunge in FILTER CRITERIA questa voce: Contenuto: Lingua

(13/06/2013) Se non si vogliono visualizzare alcuni tag, perché troppo ripetitivi o poco funzionali in questa vista, basta aggiungere in FILTER CRITERIA la seguente voce: Contenuto: Tag poi si sceglierà is not one e si andranno ad elencare all'interno di Select terms from vocabulary Tag quelli che non si vogliono vedere.

Di seguito inserisco due immagini che riassumono il menu finale della vista e allego qui il file esportato: export_tagcloud.txt (lo si può caricare cliccando sul bottone importa e poi incollandoci il contenuto dentro il box Paste view code here, ma attenzione alle eventuali incompatibilità!)

Parte sinistraParte destra



Potrebbero interessarti anche:

Nicola Rainiero

Ingegnere civile specializzato in geotecnica con l'ambizione di facilitare la propria attività lavorativa usando e creando software libero per un sapere condiviso e collettivo. Mi occupo anche di energie rinnovabili ed in particolare di geotermia a bassa entalpia. Sono da sempre appassionato di web design e modellazione 3D.

Commenti

Salve,ho letto il suo artico e seguito le istruzioni, ma non riesco a visualizzare nella pagina la tag colud.Mi saprebbe aiutare?Grazie,Elena

Elena, se ha creato un blocco chiamato "Tag Cloud" lo dovrà poi attivare dalla pagina http://nome_sito/admin/structure/block e lo troverà tra i blocchi disattivati in fondo alla pagina con il nome "View: Tags_menu: Block". Li potrà configurare in quale regione della pagina farlo apparire e con quali eccezioni. Spero di esserle stato di aiuto. Saluti, Nicola