Index: modules/taxonomy.module =================================================================== --- modules/taxonomy.module (revision 6426) +++ modules/taxonomy.module (working copy) @@ -1188,6 +1188,42 @@ } } +function taxonomy_breadcrumb_on_term($term) { + // Extract lightest term from lightest vocabulary assosciated with node. + //$term = taxonomy_context_node_get_lightest_term($nid); + // term->tid , term->vid, + + // HOME breadcrumb generation + $home_text = variable_get('taxonomy_breadcrumb_home', ''); + if ($home_text != '') { + $breadcrumb[] = l($home_text, NULL); + } + + // VOCABULARY breadcrumb generation + $vocabulary_path = taxonomy_breadcrumb_get_vocabulary_path($term->vid); + if ($vocabulary_path != NULL) { + $vocabulary = taxonomy_get_vocabulary($term->vid); + $breadcrumb[] = l($vocabulary->name, $vocabulary_path); + } + + // TERM breadcrumb generation + $parent_terms = array_reverse(taxonomy_get_parents_all($term->tid)); + foreach ($parent_terms as $parent_term) { + $term_path = taxonomy_breadcrumb_get_term_path($parent_term->tid); + if ($term_path == NULL) { + $term_path = "taxonomy/term/$parent_term->tid"; + } + $breadcrumb[] = l($parent_term->name, $term_path); + } + + // Remove current TERM from end of breadcrumb trail + if (!variable_get('taxonomy_breadcrumb_show_current_term', TRUE)) { + array_pop($breadcrumb); + } + + drupal_set_breadcrumb($breadcrumb); +} + /** * Menu callback; displays all nodes associated with a term. */ @@ -1221,6 +1257,7 @@ case 'page': // Build breadcrumb based on first hierarchy of first term: $current->tid = $tids[0]; + $store_current = $current; $breadcrumbs = array(array('path' => $_GET['q'])); while ($parents = taxonomy_get_parents($current->tid)) { $current = array_shift($parents); @@ -1228,6 +1265,8 @@ } $breadcrumbs = array_reverse($breadcrumbs); menu_set_location($breadcrumbs); + // HACK by ps note: here, current points to outer child ! + taxonomy_breadcrumb_on_term( $store_current ); drupal_add_link(array('rel' => 'alternate', 'type' => 'application/rss+xml', Index: includes/menu.inc =================================================================== --- includes/menu.inc (revision 6426) +++ includes/menu.inc (working copy) @@ -537,7 +537,7 @@ // We do *not* want to use "variable_get('site_frontpage', 'node)" here // as that will create the link '/node'. This is unsightly and creates // a second URL for the homepage ('/' *and* '/node'). - $links[] = l(t('Home'), ''); + $links[] = l(t('Orocos.org'), ''); $trail = _menu_get_active_trail(); foreach ($trail as $mid) {