Documentation · ViewHelper reference

XSD schema file | vhs master

Page / 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.

DEPRECATED: use v:menu instead

/

  • Tag usage example

    <v:page.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:page.menu>
  • Inline usage example

    {v:page.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

commit ec2a5f73494e5dbbd09fe75a3bb2b8cb93f8c1a7
Author: Claus Due <*****@wildside.dk>
Date:   Sat Nov 3 13:48:24 2012 +0100

    [FEATURE] Page ViewHelpers
    
    Adds all page related ViewHelpers: content fetcher/renderer, footer
    data insert, header link/meta/title, absolute url, menu and breadcrumb
    ViewHelpers.

commit 3725e41e1af0c38839bdbc1470f694675e04ce8e
Author: Claus Due <*****@wildside.dk>
Date:   Mon Nov 5 01:21:30 2012 +0100

    [BUGFIX] Fix inheritance, Menu ViewHelpers

commit 68c3752bf1eb43b5fb4a86dc9336049574ec0f56
Author: Claus Due <*****@wildside.dk>
Date:   Tue Jan 29 23:23:35 2013 +0100

    [DOC] Doc comment for Page / Menu ViewHelper

commit 6584dc8065f09424e75fc1f71f9bee13ef0160af
Author: Bjoern Fromme <*****@bjo3rn.com>
Date:   Thu Jan 31 11:58:52 2013 +0100

    [TASK] Refactor menu base class in preparation for new VHs

commit 514fa806641d96961456a0a797b28a4b4d7071ac
Author: Bjoern Fromme <*****@bjo3rn.com>
Date:   Thu Jan 31 12:02:37 2013 +0100

    [TASK] Fix indentation

commit 55d3984f22ed7b4226d1a8eec7ae42889794e4a8
Author: Claus Due <*****@wildside.dk>
Date:   Thu Jan 31 21:23:24 2013 +0100

    [DOC] Doc comments in Menu ViewHelpers' initializeArguments methods

commit 37301e9cc3c81bafc62943fa9c052804328009e9
Author: Bjoern Fromme <*****@bjo3rn.com>
Date:   Mon Feb 4 11:36:53 2013 +0100

    [TASK] Refactor menu VHs to increase readability

commit c452190db4629babbe2d9911d1c179454096f673
Author: Bjoern Fromme <*****@bjo3rn.com>
Date:   Mon Feb 4 11:59:39 2013 +0100

    [BUGFIX] Fix usage of getMenu after refactoring

commit 3da6c29303c9964a1f9b196d5f05be7b81bbfd53
Author: Claus Due <*****@wildside.dk>
Date:   Sun Mar 17 13:31:55 2013 +0100

    [TASK] Set variable backup/restore in main Menu ViewHelper

commit 7088f3f7408a6856fc849ef8d0a119b7f7810012
Author: Claus Due <*****@wildside.dk>
Date:   Sat May 4 20:52:28 2013 +0200

    [TASK] Move render method of default Menu to Abstract class
    
    This will allow the default rendering approach to be easily reused by other classes.

commit da31bad1d9bb058c072ddb5591e8ed907a1ae8e1
Author: Claus Due <*****@namelesscoder.net>
Date:   Tue Dec 31 23:08:37 2013 +0100

    [TASK] Happy new year!

commit da7677bc74f14e9a9300e4ba4487e52c3cb97642
Author: Claus Due <*****@namelesscoder.net>
Date:   Sun Apr 20 01:13:33 2014 +0200

    [TASK] Switch to namespaces

commit 4981055359c895f3869e5bd878293b3c15ed26e5
Author: Xaver Maierhofer <*****@xwissen.info>
Date:   Sun Jan 18 14:01:04 2015 +0100

    [TASK] CGL - Define classes, params, use imports

commit 8bb2fc5ee124ba19b0a0ab8e061c9a153fc4651f
Author: Xaver Maierhofer <*****@xwissen.info>
Date:   Sun Jan 18 17:56:13 2015 +0100

    [TASK] Reference Copyright to license.md file