4. Navigation Tags
Prev | Chapter 7. Tag Library | Next

## 4. Navigation Tags

### 4.1. listmenu

Creates a navigation menu using an HTML unordered list.

Attributes:

- `path`: the path used as root for the menu. Defaults to the path of the page to which the theme is applied. There are some special values that can be used with this parameters: `root` (site root), `current` (directory of the page) and `parent` (parent directory). Should you really need to specify a path that is equal to one of these special values, simply put a slash at the beginning (e.g. `/current`);

- `items`: a comma-separated list of categories of pages to be added to the menu. Possible values are `all` or any combination of `firstlevel` (pages in the directory defined by path), `lastlevel` (pages at the level of the current page), `intermediatelevels` (all levels between first and last), `onpath` (pages along the current page path, like breadcrumbs) and `children` (pages that are children of the current page). The default value is `firstlevel,lastlevel,onpath,children`;

- `current`: indicates how to display the current page in the menu. Possible values are `text` (default) and `link`.

- `style`: a css style for menu elements (default is no style);

- `currentStyle`: a css style for the current page (default is no style);

- `currentPathStyle`: a css style for pages on path (default is no style);

- `allowHiding`: if `true`, tells the menu to obey to the hiding settings specified in the Page Manager, i.e. hide submenus that are set to be hidden (default `false`);

- `artisteerMarkup`: if `true`, adds some markup needed to support artisteer 3.0 menus (default `false`).

### 4.2. alibmenu

Creates a navigation menu using an HTML unordered list and the ALIB script. The same result could be achieved by including the script in the theme and using listmenu with appropriate parameters, but this solution is more straightforward.

Attributes:

- `part`: the part of code. Possible values are `head` and `body`. You must use both values (the former within the head tag, the latter within the body tag, where you want to insert the menu);

- `orientation`: the type of menu. Possible values are `vertical` and `horizontal`.

- `path`: the path used as root for the menu. Defaults to the path of the page to which the theme is applied;

- `current`: indicates how to display the current page in the menu. Possible values are `text` (default) and `link`.

- `currentPathStyle`: a css style for pages on path (default is no style);

- `allowHiding`: if `true`, tells the menu to obey to the hiding settings specified in the Page Manager, i.e. hide submenus that are set to be hidden (default `true`).

### 4.3. simplemenu

Creates a simple textual menu, similar to a typical CMS menu (first level + path to current level + current level).

Attributes:

- `path`: the path used as root for the menu. Defaults to the path of the page to which the theme is applied;

- `space`: the number of pixels used to indent the menu. Default is `8`;

- `bullet`: the HTML code used as bullet in the menu. Default is `&middot;`;

- `style`: a css style for menu elements (default is no style);

- `expand`: set this to `true` to expand the intermediate levels of the menu (by default it is `false` and only expands the first and last levels).

- `allowHiding`: defines if the module honours the "hide submenu" option or not. Values are `false` (default) and `true`;

### 4.4. tigramenu

Creates a JavaScript menu (using this free script). This script needs to insert some code in the head tag and some in the body tag, so you must call this tag twice in the same page.

Attributes:

- `part`: the part of code. Possible values are `head` and `body`. You must use both values (the former within the head tag, the latter within the body tag);

- `path`: the path used as root for the menu. Defaults to the path of the page to which the theme is applied. Use this attribute when `part` has the `head` value;

- `placeholder`: a boolean value to include a transparent image with the size of the menu. This is useful when the layout of the page does not use absolute positioning as the script does. Default is `false`. Use this attribute olny when `part` has the `body` value.

- `allowHiding`: defines if the module honours the "hide submenu" option or not. Values are `false` (default) and `true`;

If you use this tag in a theme, you must include the files `menu.js`, `menu_tpl.js` and `menu.css` in the same directory of the `main.jsp` theme file. `menu_tpl.js` and `menu.css` can be customized to get the desired result, as videly illustrated in the documentation of the script.

### 4.5. breadcrumbs

Creates a list of titles/links for all the pages from the site root (included) to the current page (can be excluded). Attributes:

- `separator`: the text between elements (default is a space);

- `mode`: the type of breadcrumbs. Possible values are `titles` (default) and `links`;

- `style`: a css style for links (default is no style);

- `target`: the target for links (default is no target, hence same window);

- `current`: boolean value to include/exclude the current page (default is `true`);

- `pre`: a text to be added before the first element. It won't be added if there are no elements at all;

- `post`: a text to be added after the last element. It won't be added if there are no elements at all.

Example 7.8. The most common breadcrumbs

    <mesh:breadcrumbs mode="links" pre="You are viewing: " separator=" &raquo; " />

### 4.6. links

Creates a list of links to pages in the same level (i.e. directory).

Attributes:

- `path`: the path where to find pages to list (defaults to the path of the current page);

- `welcome`: if `true`, the welcome page in the directory is included too (default `true`);

- `separator`: the text between elements (default is a space);

- `style`: a css style for links (default is no style);

- `target`: the target for links (default is no target, hence same window);

- `current`: boolean value to include/exclude the current page (default is `true`);

- `pre`: a text to be added before the first element. It won't be added if there are no elements at all;

- `post`: a text to be added after the last element. It won't be added if there are no elements at all.

### 4.7. langmenu

Creates a list of links to available languages in the site. Please note that this feature only works if the site has a specific structure (see Section 2, “Multilingual sites”). That menu will allow site visitors to jump to the same page in another language or, if that page is not available, to the home page of the other language. In the last case, if the user has logged in and has required permissions, he will be offered to create the translation on the fly.

Attributes:

- `separator`: the text between elements (default is a space);

- `pre`: a text to be added before the first element. It won't be added if there are no elements at all;

- `post`: a text to be added after the last element. It won't be added if there are no elements at all;

- `names`: if `true`, language names are shown (default `true`);

- `flags`: if `true`, small flags are shown (default `false`).

Prev | Up | Next
3. Page Elements Tags | Home | 5. Information Tags