Skip to content

Instantly share code, notes, and snippets.

@coding46
Created September 20, 2014 21:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save coding46/ff94d2332938173e8c10 to your computer and use it in GitHub Desktop.
Save coding46/ff94d2332938173e8c10 to your computer and use it in GitHub Desktop.
Recursive Menu Generator using Vhs Page Menu
<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>
<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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment