There seems to be lots of solutions to megamenu in drupal. Allow me to introduce a Drupal megamenu: Ultimenu.

Duplication is always discouraged at Drupal, unless unavoidable for valid reasons. Drupal is known with there is a module for that. After several pages of searching, asking in the forum, I found no similar effort. So I go ahead with the initial release a few weeks ago for feedback, improvements and wider testings. I have done what I can to avoid possible duplication. Any objection for possible duplication should be raised in the project issue.

Ultimenu is the UltimatelyDeadSimpleâ„¢ megamenu ever with dynamic region creation.

How would I come up with such a silly sound-like-bluffing name? I was building it with the name Ubermenu in the first place, but soon it felt like Ubercart sub-module. When I realized what the module does is actually an absolutely simple toggle of block and region of megamenu, I thought I have the right to name it Ultimenu, whatever. So be it. If you have objection with the name, I am afraid I can not help you with that. It just has to have a whatever name for the release.

An Ultimenu block is based on a Drupal menu. Ultimenu regions are based on the Drupal menu items.
The result is a block which contains regions contains blocks, as opposed to just a region contains blocks.

The module simply manages the toggle of Ultimenu blocks, regions, and a skins library. It leaves the management of block, menu and regions to Drupal.

At each Ultimenu block, you can choose a unique skin and the flyout orientation.

You don't have to write regions in the theme .info, however you can play safe to permanently store resulting region definitions in it.


  1. Multiple instances of Ultimenu blocks are based on system and menu modules.
  2. Dynamic regions are based on menu items which are toggled without touching .info.
  3. Option to render menu description.
  4. Option to display menu description above menu title.
  5. Option to add title class to menu item list.
  6. Option to add mlid class to menu item list.
  7. Option to add menu counter class
  8. Option to remove browser tooltip.
  9. Option to use mlid, not title for Ultimenu region key.
  10. Option to use custom skins, or theme default "css/ultimenu" directory for auto discovery.
  11. Various individual flyout orientations: horizontal to bottom or top, vertical to left or right.
  12. Pure CSS3 animation and basic styling is provided as starters.
  13. With the goodness of blocks and regions, embed anything: views, panels, blocks, menu_block, boxes, slideshow....


  1. Enable or install the module.
  2. Visit admin/structure/ultimenu to manage the Ultimenu regions, blocks, a skin library and other options.
  3. Once a menu is enabled and saved, dynamic regions will be displayed to toggle. Only enabled regions (based on enabled menu items) will be visible at block/ context admin.
  4. Visit admin/structure/block to assign the "Ultimenu: Menu name" block into any region: header, sidebar, footer or navigation region, except Ultimenu regions.
  5. Add other blocks to the available Ultimenu regions.


- Drupal core optional menu.module must be enabled.

Related modules


Whenever a menu item is removed or disabled, the relevant region will be removed.
If you manually copy or store the region definitions in theme .info, they will always be visible, which is another case.
Dynamic region is removed, howevr system now displays the written regions. Yet you can force disabling unwanted Ultimenu regions via UI if so required, altering the system.

Be sure to clear the cache to see the new Ultimenu regions at block admin.

Ultimenu: The Ultimately Dead Simple Megamenu