Home

HMENU

HMENU is a TypoScript object used in the TYPO3 content management system to generate frontend navigation menus. It acts as a container that defines how menu items are gathered and how they are rendered, including support for multiple levels and different presentation styles. HMENU itself does not produce output; it delegates rendering to level-specific objects such as TMENU or GMENU.

The core concept is that HMENU collects a set of pages based on a “special” instruction and

Within an HMENU, one or more levels are defined by assigning renderers to numeric keys (1, 2,

Example configurations show HMENU with a chosen special setting, a 1 = TMENU level for the first

then
renders
each
level
with
a
corresponding
renderer.
The
special
property
determines
how
pages
are
selected,
with
common
options
such
as
rootline
(pages
along
the
path
from
the
site
root
to
the
current
page),
directory
(subtree
starting
at
a
given
page),
or
list
(a
direct
list
under
a
starting
page).
Special.value
or
related
settings
refine
the
starting
point
or
scope.
etc.).
Each
level
typically
uses
a
TMENU
(text-based
menu
rendering)
or
GMENU
(graphical
menu
rendering)
and
supports
state-based
subobjects
such
as
NO
(normal),
ACT
(active
page),
and
IFSUB
(items
with
submenus).
These
subobjects
control
presentation
details
like
wrapping,
link
attributes,
and
CSS
classes.
Common
options
include
wrap
for
the
level,
wrapItemAndSub
for
list
items,
and
ATag*
properties
for
link
attributes.
depth,
and
optional
second
levels
for
deeper
navigation.
HMENU
remains
a
foundational
tool
for
flexible,
code-driven
menu
generation
in
TYPO3.