HMENU

Objects of type HMENU generate hierarchical menus. In a FLUIDTEMPLATE the HMENU can be used as a DataProcessor called MenuProcessor, which internally uses the HMENU functionality.

The cObject HMENU allows you to define the global settings of the menu as a whole. For the rendering of the single menu levels, different menu objects can be used.

Apart from creating a hierarchical menu of the pages as they are structured in the page tree, HMENU also allows you to use the .special property to create special menus. These special menus take characteristics of special menu types into account.

Properties

Name Type
menu object
integer
cache
integer / stdWrap
"directory" / "list" / "updated" / "rootline" / "browse" / "keywords" / "categories" / "language" / "userfunction"
list of page-uid's / stdWrap
integer / stdWrap
integer / stdWrap
integer / stdWrap +calc
list of integer / stdWrap
list of integer
boolean / stdWrap
list of integer /stdWrap
boolean / keyword
->if
wrap / stdWrap
->stdWrap

1, 2, 3, ...

1, 2, 3, ...
Type
menu object
Default
(no menu)

For every menu level, that should be rendered, an according entry must exist. It defines the menu object that should render the menu items on the according level. 1 is the first level, 2 is the second level, 3 is the third level and so on.

The property "1" is required!

The entry 1 for the first level always must exist. All other levels only will be generated when they are configured.

TYPO3 offers the menu object TMENU.

cache_period

cache_period
Type
integer

The number of seconds a menu may remain in cache. If this value is not set, the first available value of the following will be used:

  1. cache_timeout of the current page
  2. config.cache_period defined globally
  3. 86400 (= 1 day)

cache

cache
Type
cache

See cache function description for details.

entryLevel

entryLevel
Type
integer / stdWrap
Default
0

Defines at which level in the rootLine the menu should start.

special

special
Type
"directory" / "list" / "updated" / "rootline" / "browse" / "keywords" / "categories" / "language" / "userfunction"

Lets you define special types of menus.

See the section about the .special property!

special.value

special.value
Type
list of page-uid's / stdWrap

List of page uid's to use for the special menu. What they are used for depends on the menu type as defined by ".special"; see the section about the .special property!

minItems

minItems
Type
integer / stdWrap

The minimum number of items in the menu. If the number of pages does not reach this level, a dummy-page with the title "..." and uid=[currentpage\_id] is inserted.

Note: Affects all sub menus as well. To set the value for each menu level individually, set the properties in the menu objects (see "Common properties" table).

maxItems

maxItems
Type
integer / stdWrap

The maximum number of items in the menu. Additional items will be ignored.

Note: Affects all sub menus as well. (See "minItems" for a notice.)

begin

begin
Type
integer / stdWrap +calc

The first item in the menu.

Note: Affects all sub menus as well. (See "minItems" for a notice.)

excludeUidList

excludeUidList
Type
list of integer / stdWrap

excludeDoktypes

excludeDoktypes
Type
list of integer
Default
6,254

includeNotInMenu

includeNotInMenu
Type
boolean / stdWrap

alwaysActivePIDlist

alwaysActivePIDlist
Type
list of integer /stdWrap

protectLvar

protectLvar
Type
boolean / keyword

if

if
Type
->if

If "if" returns false, the menu is not generated.

wrap

wrap
Type
wrap / stdWrap

Wrap for the HMENU.

stdWrap

stdWrap
Type
->stdWrap

(Executed after ".wrap".)

For examples on how to use the HMENU please refer to old version of this document, for example HMENU