
This week's Weekly Drupal is all about menus in Drupal. We're using a single codebase to migrate roughly 70 websites to a single Drupal installation as indicated, more or less, here. We're close to having the basic site template for replicating to create the 70 sites and then, in stages, migrate data and roll out the Drupal sites to our users.
As we're controlling the "platform" that is Drupal, we are trying to limit the "Administer" options that our webmasters are offered. For example, we don't want them to be able to administer users, permissions, modules and many other "backend" parts of their Drupal sites. We'll control that central as all 70 sites are using a shared template (theme). So, yesterday we discovered a conundrum: how to allow them to administer their menu (we want them to be able to re-label and re-order their navigation menu) without confusing them with the ability to administer the "navigation" "primary links" "secondary links" etc. menu choices that come standard in Drupal.
This, as it turns, is not easy to do (or, if it is, it's not intuitive). We could not find anyway to hide these other menus and only show their live, public menu. So, when one clicks "Create content" and then clicks "Menu settings," all possible menus, even ones NOT visible to them with the permissions we've allotted, are seen as here:

We only want our webmasters to see what's at the top of this dropdown under <Entity Menu> and not anything after <Navigation> - we will control that as admins. Nothing in the menus area seems to allow for this, nor in permissions or roles. We also checked in blocks and can't seem to figure out how to control the menu settings.
We have investigated some modules including Menu per role but Menu settings per content type to no avail. I hope we won't have to find a custom solution but it's looking likely. Anyone have any ideas?
The Weekly Drupal is a weekly column on mavergames.net about Drupal from the perspective of a new user. Use this feed to subscribe.
Other module possibilities
By Geoff (not verified)Here are some other modules that may help based on a quick scan of drupalmodules.com:
Haven't tried these myself so YMMV.
A simple hook_form_alter()
By dalin (not verified)A simple hook_form_alter() ought to be able to manipulate the options in the drop-down.http://api.drupal.org/api/function/hook_form_alter/6
Menu Settings per Content Type
By okeedoak (not verified)I used http://drupal.org/project/ctm Menu Settings per Content Type to achieve this. It has a setting per content type to choose which menus are available. Maybe this will work for you.
Thanks
By mavergamesThanks for all your comments. We're working on it.Cheers,Chris
Have used these before to
By Bartezz (not verified)Have used these before to achieve something similar;http://drupal.org/project/ctmhttp://drupal.org/project/menu_stpAnd although they work great, it's a pain for moderators to alter the menus without menu permissions. For example changing weights of menu items is a b##ch. They have to navigate to each node and change the menu item weight in there.I recently found (haven't tested) these;http://drupal.org/project/delegate_menu_adminhttp://drupalmodules.com/module/menu-admin-per-menuAnd can't wait to test them as they look very promissing!!!!http://drupal.org/node/478596Good luck!
Consider menu_clone module
By Frank (not verified)my solution to this problem is to use a http://drupal.org/project/menu_clone to 1. duplicate the menu you want2. Create a new top level menu (creating additional sub menus if necessary.3. Move the items from the cloned menu into the new menus you just created, tedious but it works.menu_clone is a rough pre RC module, make sure you back up your database before using it.
Post new comment