menu

Show a page menu.

This tag is part of the module mod_menu. The {% menu %} tag is used to generate the HTML for the menu defined in the admin.

You can define multiple menus in your site. By default there is one menu, called “main_menu”. If you want another one, create a page of type “page menu” (under “Categorization”) and start editing your menu. You can use the “menu_id” argument to select which menu you want to display.

Example:

{% menu id=id %}

Generates something like:

<ul id="navigation" class="nav">
  <li>
    <a href="/" class="welcome">Home</a>
  </li>
  <li>
    <a href="/features" class="page_features">Features</a>
  </li>
  <li>
    <a href="/documentation" class="documentation active">Documentation</a>
  </li>
  <li>
    <a href="/documentation/628/installation" class="page_install">Install</a>
  </li>
</ul>

The menu has the following features:

  • The menu is a unordered list.

  • The id of the menu is navigation and can be prepended with param id_prefix.

  • The class of the menu is set with param class (default nav).

  • Menu items are a <li> with a single <a>

  • The link of the menu item referring to the current page has the class active.

  • Every link also gets the unique name of the target as a class.

  • Every menu item can have single level submenus. A submenu has the same properties as the menu.

ArgumentDescriptionExample
idSet this to the id of the current shown page and it wil highlight its page path.
menu_idThe id of the menu that you want to display. If left empty, the main menu is shown.
id_prefixString prepended to menu id.
classHTML class for the list; default “nav”.
maxdepthMaximum depth of the menu; default 999.
templateTemplate to render the menu; default “_menu.tpl”

Edit on GitHub

Tags print

Referred by

Displaying a site map

For the benefit of search engines and fans of tables of contents you can easily provide a site map.

Create a custom tag

Custom tags, internally called scomps , are module-defined tags, which are used when the logic is too complex to be…

mod_menu

See also