You are here

function views_taxonomy_set_breadcrumb in Views (for Drupal 7) 6.2

Same name and namespace in other branches
  1. 8.3 modules/taxonomy.views.inc \views_taxonomy_set_breadcrumb()
  2. 6.3 modules/taxonomy.views.inc \views_taxonomy_set_breadcrumb()
  3. 7.3 modules/taxonomy.views.inc \views_taxonomy_set_breadcrumb()

Helper function to set a breadcrumb for taxonomy.

Related topics

2 calls to views_taxonomy_set_breadcrumb()
views_handler_argument_term_node_tid::set_breadcrumb in modules/taxonomy/views_handler_argument_term_node_tid.inc
Give an argument the opportunity to modify the breadcrumb, if it wants. This only gets called on displays where a breadcrumb is actually used.
views_handler_argument_term_node_tid_depth::set_breadcrumb in modules/taxonomy/views_handler_argument_term_node_tid_depth.inc
Give an argument the opportunity to modify the breadcrumb, if it wants. This only gets called on displays where a breadcrumb is actually used.

File

modules/taxonomy.views.inc, line 474
Provide views data and handlers for taxonomy.module

Code

function views_taxonomy_set_breadcrumb(&$breadcrumb, &$argument) {
  if (empty($argument->options['set_breadcrumb'])) {
    return;
  }
  $args = $argument->view->args;
  $parents = taxonomy_get_parents_all($argument->argument);
  foreach (array_reverse($parents) as $parent) {

    // Unfortunately parents includes the current argument. Skip.
    if ($parent->tid == $argument->argument) {
      continue;
    }
    if ($argument->options['use_taxonomy_term_path']) {
      $path = taxonomy_term_path($parent);
    }
    else {
      $args[$argument->position] = $parent->tid;
      $path = $argument->view
        ->get_url($args);
    }
    $breadcrumb[$path] = check_plain($parent->name);
  }
}