Standaard zijn taxonomy pagina’s altijd te benaderen via taxonomy/term/. Dit is niet altijd wenselijk en kan via de template.php worden ondervangen. De vraag is of dit de meest aangewezen plek is, maar het functioneert!

De oplossing is om de taxonomy_term_page() functie te overriden

function <theme>_taxonomy_term_page($str_tids = '', $depth = 0, $op = 'page') {}

Door dan de drupal_not_found(); functie aan te roepen, worden deze pagina’s automatisch voorzien van 404 meldingen.

function <theme>_taxonomy_term_page($str_tids = '', $depth = 0, $op = 'page') {
drupal_not_found();
}

Je kan natuurlijk ook per vocabulary een uitzondering maken en daar een view-output op laten zien.


// we need to know the vid, so we ask for more information about the term
$term = taxonomy_get_term($str_tids[0]);
if($term->vid == <your_vid>){
$output = views_embed_view('bedrijven_overzicht','block_1',$term->tid);
return $output;
}
else{
drupal_not_found();
}

Ik hoor graag als er andere, betere, mooiere manieren zijn, maar het heeft voor mij in ieder geval zijn doel bereikt.