我在 Neos 后端创建了菜单。每个菜单节点对应一个控制器动作的插件。这些控制器操作在 policy.yaml 中定义为具有流访问策略角色的资源。菜单模板在 root.ts2 中定义,我从 Typo3.NeosDemoTypo3Org 包中获取了一个副本。
root.ts2 的 mainMenu 部分是
mainMenu = Menu {
entryLevel = 1
templatePath = 'resource://ABC.Demo/Private/Templates/TypoScriptObjects/MainMenu.html'
maximumLevels = 3
site = ${site}
}
MainMenu.html 是:
<div class="collapse navbar-collapse navbar-main-collapse">
<ul class="nav nav-pills nav-justified">
<f:for each="{items}" as="item" iteration="menuItemIterator">
<f:then>
<li class="active">
<neos:link.node node="{item.node}">{item.label}</neos:link.node>
</li>
</f:then>
<f:else>
<li>
<neos:link.node node="{item.node}">{item.label}</neos:link.node>
</li>
</f:else>
</f:if>
</f:for>
</ul>
</div>
如果我在 Default.html 中使用 {parts.mainMenu -> f:format.raw()},它会打印在 Neos 站点根目录中定义的所有菜单项。
如何仅在用户有权访问 policy.yaml 中定义的相应资源的网页主菜单中显示那些菜单项。
任何人都可以给出一个想法,实现它的方法。