Same name and namespace in other branches
  1. 6.x developer/hooks/core.php \hook_menu_link_alter()

Alter the data being saved to the {menu_links} table by menu_link_save().

Parameters

$item: Associative array defining a menu link as passed into menu_link_save().

See also

hook_translated_menu_link_alter()

Related topics

2 functions implement hook_menu_link_alter()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

user_menu_link_alter in modules/user/user.module
Implements hook_menu_link_alter().
user_translated_menu_link_alter in modules/user/user.module
Implements hook_translated_menu_link_alter().
1 invocation of hook_menu_link_alter()
menu_link_save in includes/menu.inc
Saves a menu link.

File

modules/system/system.api.php, line 1305
Hooks provided by Drupal core and the System module.

Code

function hook_menu_link_alter(&$item) {

  // Make all new admin links hidden (a.k.a disabled).
  if (strpos($item['link_path'], 'admin') === 0 && empty($item['mlid'])) {
    $item['hidden'] = 1;
  }

  // Flag a link to be altered by hook_translated_menu_link_alter().
  if ($item['link_path'] == 'devel/cache/clear') {
    $item['options']['alter'] = TRUE;
  }

  // Flag a link to be altered by hook_translated_menu_link_alter(), but only
  // if it is derived from a menu router item; i.e., do not alter a custom
  // menu link pointing to the same path that has been created by a user.
  if ($item['link_path'] == 'user' && $item['module'] == 'system') {
    $item['options']['alter'] = TRUE;
  }
}