Multiple hook_menu_alter over-writing issue I want to customize my menu by using hook_menu_alter by over-writing another installed module, which also has a hook_menu_alter inside.

I check the procedure using xdebug, finding that drupal execute my hook_menu_alter first, and then the existing hook_menu_alter in that module. In this case all my alteration is being over-written. How can I reverse the order of execution?

Thanks!
You can try to change the weight of the module in the systems table but doesn't always work and can cause other issues.  I would use the hook_modules_implement_alter function.  You will need to unset yours and then add yours to the top or before the other module.  Here is an example I used doing a hook_user_delete and hook_user_insert

function users_module_implements_alter(&amp;$implementations, $hook)
{
  if($hook == "user_insert" || $hook == "user_delete")
  {
    unset($implementations['user']);
    $user = array('users' =&gt; false);
    $implementations = $user + $implementations;
  }
}


Yours would be like this:

function users_module_implements_alter(&amp;$implementations, $hook)
{
  if($hook == "menu_alter")
  {
    unset($implementations['mymodule']);
    $mymodule = array('mymodule' =&gt; false);
    $implementations = $mymodule + $implementations; // Also could use array_merge
  }
}