Documentation · ViewHelper reference

XSD schema file | vhs 2.1.3

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.

  • Tag usage example

    <v:page.menu additionalAttributes="{foo: 'bar'}" class="NULL" dir="NULL" id="NULL" lang="NULL" style="NULL" title="NULL" accesskey="NULL" tabindex="123" onclick="NULL" tagName="'ul'" tagNameChildren="'li'" entryLevel="123" levels="123" divider="NULL" expandAll="1" classActive="'active'" classCurrent="'current'" classHasSubpages="'sub'" useShortcutUid="1" useShortcutTarget="1" useShortcutData="1" classFirst="''" classLast="''" substElementUid="1" includeSpacers="1" resolveExclude="1" showHidden="1" showHiddenInMenu="1" showCurrent="1" linkCurrent="1" linkActive="1" titleFields="'nav_title,title'" doktypes="[mixed]" excludeSubpageTypes="[mixed]" deferred="1" as="'menu'" rootLineAs="'rootLine'" excludePages="[mixed]" includeAnchorTitle="1" pageUid="123">
    	<!-- tag content - may be ignored! -->
    </v:page.menu>
  • Inline usage example

    {v:page.menu(additionalAttributes: {foo: 'bar'}, class: 'NULL', dir: 'NULL', id: 'NULL', lang: 'NULL', style: 'NULL', title: 'NULL', accesskey: 'NULL', tabindex: 123, onclick: 'NULL', tagName: ''ul'', tagNameChildren: ''li'', entryLevel: 123, levels: 123, divider: 'NULL', expandAll: 1, classActive: ''active'', classCurrent: ''current'', classHasSubpages: ''sub'', useShortcutUid: 1, useShortcutTarget: 1, useShortcutData: 1, classFirst: '''', classLast: '''', substElementUid: 1, includeSpacers: 1, resolveExclude: 1, showHidden: 1, showHiddenInMenu: 1, showCurrent: 1, linkCurrent: 1, linkActive: 1, titleFields: ''nav_title,title'', doktypes: [mixed], excludeSubpageTypes: [mixed], deferred: 1, as: ''menu'', rootLineAs: ''rootLine'', excludePages: [mixed], includeAnchorTitle: 1, pageUid: 123)}

Arguments

Argument Description Type
accesskey

Keyboard shortcut to access this element

string
additionalAttributes

Additional tag attributes. They will be added directly to the resulting HTML tag.

array
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
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
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

CSV list or array of allowed doktypes from constant names or integer values, i.e. 1,254 or DEFAULT,SYSFOLDER,SHORTCUT or just default,sysfolder,shortcut

mixed
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
excludeSubpageTypes

CSV list or array of doktypes to not consider as subpages. Can be constant names or integer values, i.e. 1,254 or DEFAULT,SYSFOLDER,SHORTCUT or just default,sysfolder,shortcut

mixed
expandAll

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

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
resolveExclude

Exclude link if realurl/cooluri flag txrealurlexclude is set

boolean
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
showCurrent

If FALSE, does not display the current page

boolean
showHidden

DEPRECATED - IGNORED. FIELD IS AN ENABLE-FIELD WHICH MUST BE RESPECTED. Include disabled pages into the menu

boolean
showHiddenInMenu

Include pages that are set to be hidden in menus

boolean
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 enclsing 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
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