hook_menu_alter information I am using drupal 6.22.

I have written a framework module that relies on submodules, when I install the submodule, I would like to update the administration menu to include some administration properties for the submodule.

This is the hook_menu implementation on the framework and it works no problem:

function svm_mail_menu() {

$items['admin/settings/svm-mail'] = array(
  'title' =&gt; 'SeeViewMedia Mailing Framework',
  'description' =&gt; 'Framework Settings for the SeeViewMedia Mailing application',
  'page callback' =&gt; 'mail_settings', //this needs to direct to a tabbed page that holds the framework options such as general settings and account add/edit/delete
  //This page should also be a "welcome" page for the module listing where everything is found
  //'access arguments' =&gt; array('Administer SeeViewMedia Framework Settings'),
  'type' =&gt; MENU_NORMAL_ITEM,
);
$items['admin/settings/svm-mail/add-account'] = array(
'title' =&gt; 'Add Mailing Account',
'page callback' =&gt; 'add_mail_account',
'access callback' =&gt; TRUE,
'type' =&gt; MENU_LOCAL_TASK,  
);
$items['admin/settings/svm-mail/view-accounts'] = array(
  'title' =&gt; 'View Mailing Accounts',
  'page callback' =&gt; 'view_mail_account',
  'access arguments' =&gt; array('Administer SeeViewMedia Framework Settings'),
  'type' =&gt; MENU_LOCAL_TASK,
);
return $items;
}


and this is the hook_menu_alter that I tried using, but it replaces my entire menu system

function ymlp_svm_mail_menu_alter(&amp;$items) {
$items = svm_mail_menu();

$items['admin/settings/ymlp-svm-mail/update'] = array(
  'title' =&gt; 'Update YMLP Accounts Manually',
  'page callback' =&gt; 'ymlp_update',
  'access callback' =&gt; TRUE,
  'type' =&gt; MENU_LOCAL_TASK,
);
return $items;
}


How would I just add this little bit of menu to the original menu that I created without destroying everything else?
If all you are doing is adding to an existing menu, there is no need to use a menu alter. Instead stick with plain old hook_menu().

function ymlp_svm_mail_menu() {
  $items['admin/settings/ymlp-svm-mail/update'] = array(
    'title' =&gt; 'Update YMLP Accounts Manually',
    'page callback' =&gt; 'ymlp_update',
    'access callback' =&gt; TRUE,
    'type' =&gt; MENU_LOCAL_TASK,
  );
  return $items;
}


Don't forget to flush the menu cache after the module is installed