function _menutrails_recurse_crumbs in Menu TrailsMenu Trails 6
1 call to _menutrails_recurse_crumbs()
- menutrails_get_breadcrumbs in ./
menutrails.module - Set Breadcrumbs based on active menu trail.
File
- ./
menutrails.module, line 99 - Menutrails allows the assignment of "trails" which will keep menu items active for individual node views.
Code
function _menutrails_recurse_crumbs($tree, $item, &$crumbs, $above = array()) {
foreach ($tree as $menu_item) {
if (!$menu_item['link']['in_active_trail']) {
continue;
}
if ($menu_item['link']['link_path'] == $item['href']) {
foreach ($above as $trail_item) {
$crumbs[] = l($trail_item['link']['link_title'], $trail_item['link']['link_path']);
}
// Don't add the current page.
if ($menu_item['link']['link_path'] != $_GET['q']) {
$crumbs[] = l($menu_item['link']['link_title'], $menu_item['link']['link_path']);
}
break;
}
if (is_array($menu_item['below'])) {
_menutrails_recurse_crumbs($menu_item['below'], $item, $crumbs, array_merge($above, array(
$menu_item,
)));
}
}
}