You are here

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,
      )));
    }
  }
}