Orchard Advanced Menu 1.3 released!

Tags: orchard, menu, module

New release is finally out! I managed to fix all reported bugs, add some new goodies, do a lot of refactoring and boost performance a little bit. Hope it’ll serve you well.

What’s new?

  • MenuRelationPart. The part that allows attaching an item to one or more different menus directly from that item’s creation/edit screen. It behaves similar to the default menu part (that added “Show on main menu” checkbox) and replaces it. It’s attached to Page, Blog and BlogPost content types by default, but you can attach it to any custom content type you need, in order to allow adding menu links to it.
  • Menu widget creation from command-line. You can now create menu widgets directly from Orchard command-line or from your custom recipes. Simply use the command “menuwidget create Great thanks to Raymond de Jong for contributing this piece of code!
  • New menu widget display mode – SiblingsExpanded. In this mode the menu is displayed in full, but children are rendered only for the items on selection path. Basically, the menu in this mode looks like a tree-view with single path fully-rendered and others collapsed to the topmost node. 

What’s changed?

These are some of the most important changes:

  • Counters and Breadcrumbs has been moved to separate features. They are disabled by default. You can enable them, if you wish, from the Modules admin pane.
  • Marking selected/current menu items.
    • “Current” CSS class is used to mark the selected menu item, corresponding to currently viewed page. If you have more than one item with the same URL in a single menu – all of them will be marked as “current”
    • “Selected” CSS class is used to mark all parent items (path), starting from the one that is actually being viewed. If you have more than one item with the same URL in a single menu – only the first one will have the path marked. The same applies to breadcrumbs – the first valid path found from the current item to the top will be used.
  • Menu items list in admin view has been filled with additional data (URL, direct links to corresponding content items and the item type)
  • Changed the name of “templated menu item” to “menu item /w custom Html” in admin UI. There were some misunderstandings about what is it for and I guess putting a more descriptive name is a good idea.
  • Dropdowns instead of textboxes for choosing a menu in menu/breadcrumbs widgets.
  • Renamed menu widget display modes to be more descriptive. It’s a topic for the next post.
  • Lots of other minor thingsUśmiech

What’s been fixed?

  • Issue with deleting menus which rendered menus non-removable.
  • Menu and breadcrumbs rendering issues. In some cases the module rendered empty, additional <li> tags between parent and child menu items.
  • After enabling shape tracing, menu items text got overwritten by shape Url (shape tracing has been overwriting an existing property on menu item shape)
  • In some cases, selected menu items hasn’t been correctly marked with appropriate CSS classes.
  • Serialization issues with counters when using SQL Server session store.
  • Incorrect menu level cutting when using “Limit levels” feature
  • Link to ‘main’ menu appearing even after ‘main’ menu deletion.
  • Error when trying to recreate menu with the same name as previously deleted menu. It’s an issue with Orchard – by default menu items are not removed from database (just hidden from UI), so unique constraint on menu names throw errors with subsequent inserts.
  • Menu display mode dropdown doesn't keep selected value when you come to edit it again
  • Menu widget display modes doesn’t work as expected.
  • Filling menu with existing items creates duplicates.
  • “Cut lower levels” option in menu widget works exactly the opposite way.


Many thanks for the giant load of feedback some of you provided since last release. It really helped me a lot when it came to bugfixing and thinking about new features for this release. My special thanks go to Raymond de Jong and Richard Garside for code contributions and great amount of feedback!

Btw - I’m going to write some more detailed tutorial on module usage soon, so stay tuned.


blog comments powered by Disqus