function menu_menu_insert

Implements hook_menu_insert()

File

drupal/core/modules/menu/menu.module, line 246
Allows administrators to customize the site's navigation menus.

Code

function menu_menu_insert(Menu $menu) {
  menu_cache_clear_all();

  // Invalidate the block cache to update menu-based derivatives.
  if (module_exists('block')) {
    drupal_container()
      ->get('plugin.manager.block')
      ->clearCachedDefinitions();
  }

  // Make sure the menu is present in the active menus variable so that its
  // items may appear in the menu active trail.
  // See menu_set_active_menu_names().
  $config = config('system.menu');
  $active_menus = $config
    ->get('active_menus_default') ?: array_keys(menu_get_menus());
  if (!in_array($menu
    ->id(), $active_menus)) {
    $active_menus[] = $menu
      ->id();
    $config
      ->set('active_menus_default', $active_menus)
      ->save();
  }
}