function menu_tree_collect_node_links

Collects node links from a given menu tree recursively.


$tree: The menu tree you wish to collect node links from.

$node_links: An array in which to store the collected node links.

Related topics

3 calls to menu_tree_collect_node_links()
book_menu_subtree_data in drupal/modules/book/book.module
Gets the data representing a subtree of the book hierarchy.
menu_overview_form in drupal/modules/menu/
Form for editing an entire menu tree at once.
_menu_build_tree in drupal/includes/
Builds a menu tree.


drupal/includes/, line 1473
API for the Drupal menu system.


function menu_tree_collect_node_links(&$tree, &$node_links) {
  foreach ($tree as $key => $v) {
    if ($tree[$key]['link']['router_path'] == 'node/%') {
      $nid = substr($tree[$key]['link']['link_path'], 5);
      if (is_numeric($nid)) {
        $node_links[$nid][$tree[$key]['link']['mlid']] =& $tree[$key]['link'];
        $tree[$key]['link']['access'] = FALSE;
    if ($tree[$key]['below']) {
      menu_tree_collect_node_links($tree[$key]['below'], $node_links);