admin_menu_alter

Versions
6
admin_menu_alter(&$items)

Implementation of hook_menu_alter().

Code

contrib-6/admin/admin.module, line 26

<?php
function admin_menu_alter(&$items) {
  // Move admin theme settings to theme local task.
  $items['admin/build/themes/admin'] = $items['admin/settings/admin'];
  $items['admin/build/themes/admin']['type'] = MENU_LOCAL_TASK;
  $items['admin/build/themes/admin']['weight'] = 10;
  unset($items['admin/settings/admin']);

  // Gather site settings under local tasks
  $items['admin/settings/site'] =
  $items['admin/settings/site/information'] =
  $items['admin/settings/site-information'];
  unset($items['admin/settings/site-information']);

  $items['admin/settings/site']['title'] = 'Site settings';
  $items['admin/settings/site/information']['title'] = 'Information';
  $items['admin/settings/site/information']['type'] = MENU_DEFAULT_LOCAL_TASK;

  $items['admin/settings/site/clean-urls'] = $items['admin/settings/clean-urls'];
  $items['admin/settings/site/clean-urls']['type'] = MENU_LOCAL_TASK;
  $items['admin/settings/site/clean-urls']['weight'] = 10;
  unset($items['admin/settings/clean-urls']);

  $items['admin/settings/site/error-reporting'] = $items['admin/settings/error-reporting'];
  $items['admin/settings/site/error-reporting']['type'] = MENU_LOCAL_TASK;
  $items['admin/settings/site/error-reporting']['weight'] = 10;
  unset($items['admin/settings/error-reporting']);

  $items['admin/settings/site/file-system'] = $items['admin/settings/file-system'];
  $items['admin/settings/site/file-system']['type'] = MENU_LOCAL_TASK;
  $items['admin/settings/site/file-system']['weight'] = 10;
  unset($items['admin/settings/file-system']);

  // Generate additional items for use in the menu
  $items = array_merge($items, admin_menu_clone_items('node/add', 'admin/content/add', $items));
  $items = array_merge($items, admin_menu_clone_items('admin/build/themes', 'admin/themes', $items));
  $items = array_merge($items, admin_menu_clone_items('admin/build/modules', 'admin/modules', $items));

  // Expose a small subset of the most usable core admin pages.
  // Other pages can be exposed simply by adding ['options']['admin'] = TRUE
  // to items in hook_menu().
  $include = array(
    'admin/content' => 'Content',
    'admin/content/add' => 'Add',
    'admin/content/node' => 'Edit',

    'admin/build' => 'Structure',
    'admin/build/views' => '',
    'admin/build/block' => '',
    'admin/build/menu' => '',

    'admin/user' => 'People',
    'admin/user/permissions' => '',
    'admin/user/user' => '',

    'admin/settings' => 'Configuration',
    'admin/settings/date-time' => '',
    'admin/settings/filters' => '',
    'admin/settings/language' => '',
    'admin/settings/performance' => '',
    'admin/settings/site' => '',

    'admin/themes' => 'Appearance',
    'admin/modules' => '',
  );
  foreach ($include as $path => $title) {
    if (!empty($items[$path])) {
      $items[$path]['title'] = !empty($title) ? $title : $items[$path]['title'];
      $items[$path]['options']['admin'] = TRUE;
    }
  }

  // Apparently node/add has no description. Add one.
  $items['admin/content/add']['description'] = 'Create new content on your site.';
  $items['admin/content/add']['weight'] = -20;
  $items['admin/content/node']['weight'] = -19;
}
?>

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options