The Menus Module

The Menus module is designed to supersede or supplement the default navigation strucure of Manifesto, which is generally segregated by module. The Menus module allows you to create any number of collections of link hierarchies, and then allows you to specify an output template, as well as an output location (based on those locations provided by the page template). This means that it can replace your default primary navigation, but also allows you easily manage a separate “footer” menu, or “quick links” menu.

Because menus created in this module are hand-crafted rather than automatically generated by database results, they make it much easier to create navigation sections on your website that include content from disparate modules.

The Menu itself (rather than Menu Items) are very powerful tools, and should generally be integrated with the help of a developer, since they require that the page layout templates be properly designed to accomodate them.

The important thing to know about Menus is that they have an output template (that allows them to render as menus, or lists, or buttons, etc), and a location property, which instructs the page template where to insert the menu output.

Note

You can turn off the display of certain menus on a per-module basis. For example, you may want to create a special “Help” menu that only appears when the user is on a page generated by the Shopping Cart module.

Menu Items are very basic things: a title, a URL, and a position in the hierarchy, and the interface should be a familiar combination of other hierarchical content in Manifesto, and the link editor from the WYSIWYG editor.

Creating a new menu item

../_images/menus-listing.png

From the default menu listing page, like the one shown above, you can either click to immediately add a new menu item to a particular menu by clicking on the “Add” button, or you can click the “List” button to see the existing menu hierarchy.

../_images/menus-menu-listing.png

And from there you can re-order the items or click “New Menu Item” button.

  1. The first part of the menu item simply controls where it will appear in the hierarchy, and prompts you for the title that will be displayed as the link text in the menu. There is also a “Display” property, which allows you to quickly disable display of this item in the menu on the front end.
../_images/menus-menu-item-edit-1.png

Note

How much of the menu hierarchy is visible on the front end of the website is a function of the design and the output templates in use. There are also templates specifically designed to output secondary and tertiary links only, for example.

  1. The second part of the menu item describes the link. As with the link browser in the WYSIWYG editor, the URL path field is used to create the href property of the menu item link. If this link is to an external site, or cannot be simply described by reference to a single Manifesto content object, just enter the URL here.

    Otherwise, it can be convenient to use the dynamic selector menus to navigate to the content to which you will be linking. The URL path will automatically be generated for you, and the database will remember the actual content you are linking to, which information can be used to dynamically update the URL later if anything changes.

../_images/menus-menu-item-edit-2.png

Sorting menu items

Menu items follow the standard Manifesto paradigm for nested sortable lists. When viewing the hierarchy of menu items within a menu, you can drag and drop an item into a new location, including to different depths of the hierarchy, and any descendent items it may have will move with it.

Note

If you suspect that your sort order has become unmanageably corrupted, you can manually request the page http://www.example.org/editor/MenuItem/index.php?e_section=menus&function=rebuild_tree&id=0. This will completely resort your entire set of records, but will attempt to preserve basic hierarchy (but not ordering) based on the parent ID property.