# menu

Source: https://zotonic.com/docs/1291/menu

URI: https://zotonic.com/id/1291

Language: en



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:

```erlang
{% menu id=id %}
```

Generates something like:

```erlang
<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 &lt;li> with a single &lt;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.

| Argument    | Description                                                                      | Example |
| ----------- | -------------------------------------------------------------------------------- | ------- |
| `id`        | Set this to the id of the current shown page and it wil highlight its page path. |         |
| `menu_id`   | The id of the menu that you want to display. If left empty, the main menu is shown. |         |
| `id_prefix` | String prepended to menu id.                                                     |         |
| `class`     | HTML class for the list; default “nav”.                                          |         |
| `maxdepth`  | Maximum depth of the menu; default 999.                                          |         |
| `template`  | Template to render the menu; default `"_menu.tpl"`                               |         |

License: 

Attribution: 

Related resources: https://zotonic.com/api/agent/related/1291?language=en


## API access

- [API help](<https://zotonic.com/api-help>)
- [OpenAPI specification](<https://zotonic.com/openapi.json>)
- [This resource as JSON](<https://zotonic.com/api/agent/resource/1291?language=en>)
