Documentation · ViewHelper reference

XSD schema file | vhs master

MenuViewHelper

Page: Menu ViewHelper

ViewHelper for rendering TYPO3 menus in Fluid

Supports both automatic, tag-based rendering (which defaults to ul > li with options to set both the parent and child tag names. When using manual rendering a range of support CSS classes are available along with each page record. /

  • Tag usage example

    <v:menu class="NULL" dir="NULL" id="NULL" lang="NULL" style="NULL" title="NULL" accesskey="NULL" tabindex="123" onclick="NULL" forceClosingTag="1" hideIfEmpty="1" contenteditable="NULL" contextmenu="NULL" draggable="NULL" dropzone="NULL" translate="NULL" spellcheck="NULL" hidden="NULL" showAccessProtected="1" classAccessProtected="'protected'" classAccessGranted="'access-granted'" useShortcutUid="1" useShortcutTarget="1" useShortcutData="1" tagName="'ul'" tagNameChildren="'li'" entryLevel="123" levels="123" expandAll="1" classFirst="''" classLast="''" classActive="'active'" classCurrent="'current'" classHasSubpages="'sub'" substElementUid="1" showHiddenInMenu="1" showCurrent="1" linkCurrent="1" linkActive="1" titleFields="'nav_title,title'" includeAnchorTitle="1" includeSpacers="1" deferred="1" as="'menu'" rootLineAs="'rootLine'" excludePages="[mixed]" forceAbsoluteUrl="1" doktypes="[mixed]" divider="NULL" pageUid="123">
    	<!-- tag content - may be ignored! -->
    </v:menu>
  • Inline usage example

    {v:menu(class: 'NULL', dir: 'NULL', id: 'NULL', lang: 'NULL', style: 'NULL', title: 'NULL', accesskey: 'NULL', tabindex: 123, onclick: 'NULL', forceClosingTag: 1, hideIfEmpty: 1, contenteditable: 'NULL', contextmenu: 'NULL', draggable: 'NULL', dropzone: 'NULL', translate: 'NULL', spellcheck: 'NULL', hidden: 'NULL', showAccessProtected: 1, classAccessProtected: ''protected'', classAccessGranted: ''access-granted'', useShortcutUid: 1, useShortcutTarget: 1, useShortcutData: 1, tagName: ''ul'', tagNameChildren: ''li'', entryLevel: 123, levels: 123, expandAll: 1, classFirst: '''', classLast: '''', classActive: ''active'', classCurrent: ''current'', classHasSubpages: ''sub'', substElementUid: 1, showHiddenInMenu: 1, showCurrent: 1, linkCurrent: 1, linkActive: 1, titleFields: ''nav_title,title'', includeAnchorTitle: 1, includeSpacers: 1, deferred: 1, as: ''menu'', rootLineAs: ''rootLine'', excludePages: [mixed], forceAbsoluteUrl: 1, doktypes: [mixed], divider: 'NULL', pageUid: 123)}

Arguments

Argument Description Type
accesskey

Keyboard shortcut to access this element

string
as

If used, stores the menu pages as an array in a variable named after this value and renders the tag content. If the tag content is empty automatic rendering is triggered.

string
class

CSS class(es) for this element

string
classAccessGranted

Optional class name to add to links which are access protected but access is actually granted

string
classAccessProtected

Optional class name to add to links which are access protected

string
classActive

Optional class name to add to active links

string
classCurrent

Optional class name to add to current link

string
classFirst

Optional class name for the first menu elment

string
classHasSubpages

Optional class name to add to links which have subpages

string
classLast

Optional class name for the last menu elment

string
contenteditable

Specifies whether the contents of the element are editable.

string
contextmenu

The value of the id attribute on the menu with which to associate the element as a context menu.

string
deferred

If TRUE, does not output the tag content UNLESS a v:page.menu.deferred child ViewHelper is both used and triggered. This allows you to create advanced conditions while still using automatic rendering

boolean
dir

Text direction for this HTML element. Allowed strings: "ltr" (left to right), "rtl" (right to left)

string
divider

Optional divider to insert between each menu item. Note that this does not mix well with automatic rendering due to the use of an ul > li structure

string
doktypes

DEPRECATED: Please use typical doktypes for starting points like shortcuts.

mixed
draggable

Specifies whether the element is draggable.

string
dropzone

Specifies what types of content can be dropped on the element, and instructs the UA about which actions to take with content when it is dropped on the element.

string
entryLevel

Optional entryLevel TS equivalent of the menu

integer
excludePages

Page UIDs to exclude from the menu. Can be CSV, array or an object implementing Traversable.

mixed
expandAll

If TRUE and $levels > 1 then expands all (not just the active) menu items which have submenus

boolean
forceAbsoluteUrl

If TRUE, the menu will be rendered with absolute URLs

boolean
forceClosingTag

If TRUE, forces the created tag to use a closing tag. If FALSE, allows self-closing tags.

boolean
hidden

Specifies that the element represents an element that is not yet, or is no longer, relevant.

string
hideIfEmpty

Hide the tag completely if there is no tag content

boolean
id

Unique (in this file) identifier for this HTML element.

string
includeAnchorTitle

If TRUE, includes the page title as title attribute on the anchor.

boolean
includeSpacers

Wether or not to include menu spacers in the page select query

boolean
lang

Language for this element. Use short names specified in RFC 1766

string
levels

Number of levels to render - setting this to a number higher than 1 (one) will expand menu items that are active, to a depth of $levels starting from $entryLevel

integer
linkActive

If FALSE, does not wrap with links the titles of pages that are active in the rootline

boolean
linkCurrent

If FALSE, does not wrap the current page in a link

boolean
onclick

JavaScript evaluated for the onclick event

string
pageUid

Optional parent page UID to use as top level of menu. If left out will be detected from rootLine using $entryLevel

integer
rootLineAs

If used, stores the menu root line as an array in a variable named according to this value and renders the tag content - which means automatic rendering is disabled if this attribute is used

string
showAccessProtected

If TRUE links to access protected pages are always rendered regardless of user login status

boolean
showCurrent

If FALSE, does not display the current page

boolean
showHiddenInMenu

Include pages that are set to be hidden in menus

boolean
spellcheck

Specifies whether the element represents an element whose contents are subject to spell checking and grammar checking.

string
style

Individual CSS styles for this element

string
substElementUid

Optional parameter for wrapping the link with the uid of the page

boolean
tabindex

Specifies the tab order of this element

integer
tagName

Tag name to use for enclosing container

string
tagNameChildren

Tag name to use for child nodes surrounding links. If set to "a" enables non-wrapping mode.

string
title

Tooltip text of element

string
titleFields

CSV list of fields to use as link label - default is "navtitle,title", change to for example "txmyextsomefield,subtitle,navtitle,title". The first field that contains text will be used. Field value resolved AFTER page field overlays.

string
translate

Specifies whether an elements attribute values and contents of its children are to be translated when the page is localized, or whether to leave them unchanged.

string
useShortcutData

Shortcut to set useShortcutTarget and useShortcutData simultaneously

boolean
useShortcutTarget

Optional param for using shortcut target instead of shortcut itself for current link

boolean
useShortcutUid

If TRUE, substitutes the link UID of a shortcut with the target page UID (and thus avoiding redirects) but does not change other data - which is done by using useShortcutData.

boolean
Required attribute

Revision history