Hi Craftspeople,
the path structure is given by document tree which is fine for the menu structure.
The problem is I have to exclude a tree item from the url path.
eg. the given tree
root
├── dir1
│ └── page1
├── dir2
│ ├── dir2_1
│ │ └── page2
│ └── dir2_2
│ └── page3
└── page4
The path of page2
is /root/dir2/dir2_1/page2
and I would like to have /root/dir2/page2
The menu looks like this:
Menu.fusion
prototype(Website:Content.Menu) < prototype(Neos.Neos:Menu) {
templatePath = 'resource://Website/Private/Templates/FusionObjects/Menu.html'
}
Menu.html
{namespace neos=Neos\Neos\ViewHelpers}
{namespace ts=Neos\Fusion\ViewHelpers}
<ul{attributes -> f:format.raw()}>
<f:render section="itemsList" arguments="{items: items}" />
</ul>
<f:section name="itemsList">
<f:for each="{items}" as="item">
<li{ts:render(path: '{item.state}.attributes', context: {item: item}) -> f:format.raw()}>
<a href="{neos:uri.node(node: item.node)}" class="navigation__link">
{item.node.label}
</a>
<f:if condition="{item.subItems}">
<f:then>
<div class="navigation__sub-menu navigation__sub-menu--level-{item.menuLevel} {f:if(condition: item.subItems.0.subItems, then: 'navigation__sub-menu--has-children')}">
<f:if condition="{item.menuLevel} == 1">
<f:then>
<div class="container">
<ul>
<f:render section="itemsList" arguments="{items: item.subItems}" />
</ul>
</div>
</f:then>
<f:else>
<ul>
<f:render section="itemsList" arguments="{items: item.subItems}" />
</ul>
</f:else>
</f:if>
</div>
</f:then>
<f:else>
</f:else>
</f:if>
</li>
</f:for>
</f:section>