Code example
Example for creating a menu with vhs:page.menu in a recursive way. Just set a start page and the whole tree gets rendered.
- Description
- Recursive Menu Generator using Vhs Page Menu
- Author
- coding46
- Creation date
- Extensions
- FluidTYPO3.Vhs FluidTYPO3.Fluidpages
- Tags
- ViewHelpers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <div xmlns="http://www.w3.org/1999/xhtml" | |
| xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers" | |
| xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> | |
| <f:section name="MenuRecursionStep"> | |
| <f:if condition="{currentPage.hasSubPages}"> | |
| <v:page.menu pageUid="{currentPage.uid}"> | |
| <f:if condition="{menu}"> | |
| <ul> | |
| <f:for each="{menu}" as="currentSubPage"> | |
| <li class="{currentSubPage.class}"> | |
| <v:page.link pageUid="{currentSubPage.uid}" /> | |
| <f:render section="MenuRecursionStep" arguments="{currentPage: '{currentSubPage}'}" /> | |
| </li> | |
| </f:for> | |
| </ul> | |
| </f:if> | |
| </v:page.menu> | |
| </f:if> | |
| </f:section> | |
| <f:section name="MenuRecursionStart"> | |
| <v:page.menu pageUid="{recursionStartPageUid}"> | |
| <f:if condition="{menu}"> | |
| <ul> | |
| <f:for each="{menu}" as="startLevelPage"> | |
| <li class="{startLevelPage.class}"><v:page.link pageUid="{startLevelPage.uid}" /> | |
| <f:render section="MenuRecursionStep" arguments="{currentPage: '{startLevelPage}'}"/> | |
| </li> | |
| </f:for> | |
| </ul> | |
| </f:if> | |
| </v:page.menu> | |
| </f:section> | |
| </div> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <div xmlns="http://www.w3.org/1999/xhtml" lang="en" | |
| xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> | |
| <f:layout name="Page" /> | |
| <f:section name="Main"> | |
| <f:render partial="MenuRecursion" section="MenuRecursionStart" arguments="{recursionStartPageUid: '1'}"/> | |
| </f:section> | |
| </div> |