function views_taxonomy_set_breadcrumb
3.x taxonomy.views.inc | views_taxonomy_set_breadcrumb(&$breadcrumb, &$argument) |
2.x taxonomy.views.inc | views_taxonomy_set_breadcrumb(&$breadcrumb, &$argument) |
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);
}
}