Migliorare i breadcrumb di Drupal

Migliorare i breadcrumb di Drupal

La gestione dei breadcrumb in Drupal è piuttosto limitata ed è adatta a semplici siti dove la struttura di navigazione non è particolarmente complessa. Nella maggior parte dei siti questo meccanismo non è però sufficiente ed è quindi necessario usare dei moduli Drupal aggiuntivi come quelli illustrati nel precedente articolo: Guida per i breadcrumb con Drupal.

Vediamo ora come gestire particolari situazioni nel caso in cui i moduli precedentemente citati, presi singolarmente, non coprano tutte le possibilità.

La migliore combinazione di moduli, per non complicare eccessivamente la configurazione ed ottenere allo stesso tempo una certa flessibilità, è la coppia "menu_breadcrumb" e "custom_breadcrumbs".

Drupal Menu Breadcrumb e Custom Breadcrumbs

Il modulo menu breadcrumb permette di generare il breadcrumb in base al percorso del menu di navigazione di Drupal, mentre il modulo custom breadcrumbs offre una interfaccia per gestire dei casi particolari. Nel caso in cui ci sia una vista al secondo livello di navigazione, ad esempio l'archivio notizie, e ci sia la necessità di agganciare i nodi di tipo notizia al breadcrumb, i due moduli dovranno essere configurati assieme.

I breadcrumb corretti che ne dovrebbero risultare sono questi:

Home > News > Archivio notizie
Home > News > Archivio notizie > Titolo notizia

Grazie al modulo menu breadcrumb è possibile generare il breadcrumb per la vista, mentre il breadcrumb per le singole notizie si ottiene configurando il modulo custom breadcrumbs.

In particolare è necessario aggiungere una configurazione di tipo "node" dall'interfaccia di amministrazione del modulo. Selezionato il tipo di contenuto basterà specificare nella sezione titoli i valori che comporranno il breadcrumb. Ogni riga è uno degli elementi:

News
Archivio notizie
[title]

e nella sezione percorsi:

link-pagina-news.html
link-pagina-archivio-notizie.html
<none>

La configurazione dei breadcrumb personalizzati permette di usare i token. Ad esempio, nel caso preso in esame, si può notare il token:

[title]

utilizzato per visualizzare il titolo del nodo corrente, oppure si può sostituire il valore:

<none>

con il token:

node/[nid]

così da rendere il titolo del nodo cliccabile.