Come impedire in Drupal la navigazione dei temini della tassonomia.

PROBLEMA. Supponiamo di voler impedire la navigazione sul nostro sito utilizzando i termini della tassonomia. In altri parole potremmo desiderare che ogni richiesta ad un percorso del tipo taxonomy/term/n e simili (dove n è un numero corrispondente al TID di un qualunque termine della tassonomia), restituisca un errore di pagina non trovata. Utilizzando il modulo Views possiamo risolvere la cosa in modo piuttosto semplice.

SOLUZIONE. Si tratta di creare una vista di tipo nodo, che chiameremo taxonomy_term:

Creo una vista di tipo nodo

In questa vista aggiungiamo una pagina con percorso /taxonomy/term/% (il % nel percorso indica che stiamo utilizzando un argomento o parametro), ed impostiamo l'argomento come mostrato di seguito:

Configuro l'argomento della vista per non validare mai

Le impostazioni degli altri campi della vista sono di per se ininfluenti, purchè non generino errori di sorta.

Il codice PHP che abbiamo utilizzato per validare l'argomento, restituisce sempre FALSO, quindi l'argomento non valida mai, e di conseguenza viene nascosta la vista e mostrata la pagina di errore 404.

Una volta che avremmo salvato la vista, ogni richiesta ad un percorso di tipo taxonomy/term/n sarà intercettato dalla medesima; questo comporta che l'url di ciascun termine della tassonomia restituirà un errore di pagina non trovata. Questa soluzione funziona anche utilizzando il modulo Pathauto, ovvero anche quando il path dei termini della tassonomia è stato trasformato in qualcos'altro.