The cObject HMENU is used to generate "hierarchical menus" - that is navigation.
Example:
page.10 = HMENU
page.10.1 = TMENU
page.10.1.NO {linkWrap = <B>|</B><BR>
}
Result:
Very simple. Yet.
Important things to know about the "mother"-object HMENU ("TMENU" from the example is a child in this terminology) is that is has
a numerical array of "menuObj" (menu objects)
an .entryLevel definition. Entrylevel determines at which level in the rootline, the menu is drawn.
.begin and .maxItems definitions useful to control the number of items.
But also you should know that a menu consist of links to page with the type "Standard", "Advanced", "External URL" and "Shortcut". Depending on the configuration the type "Spacer" may also appear (if .SPC is defined), but a "Spacer" page is only a placeholder - a way to insert a space in a menu if the menu-configuration is designed in such a way.
This example shows a menu that works on "Level2" pages items (rootline level 1).
page.10 = HMENU
page.10.entryLevel = 1
page.10.1 = TMENU
page.10.1.NO {linkWrap = <B>|</B><BR>
}
The result:
(This appears only if you hit id=2, because none of the other pages (except from the access-restricted page) has subpages. Root level does not show a menu either because entryLevel is set to 1)