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.
Je kan natuurlijk de hele module uitzetten, maar ik neem aan dat je wel taxonomy wil gebruiken voor categorisering maar niet om het klikbaar te maken? Beetje rare situatie maar dan kan je dit doen idd.
Als het er alleen maar omgaat dat je de aliased pad kan gebruiken ipv taxonomy/term/# dan kan je de globalredirect module gebruiken.
Tenslotte is taxonomy/term/# ook een view. Dus die zou je ook kunnen aanpassen.
@Albert Het is inderdaad dat ik een deel van de gebruikte taxonomy wel publiek beschikbaar wil maken.
De rest moet niet toegankelijk zijn, ten eerste omdat het niet opgemaakt is en ten tweede omdat het extra niet relevante pagina’s op je site zijn (en misschien laten ze nog wel nodes zien die je helemaal (nog) niet online wilt hebben.