pin*_*nkp 0 navigation templates silverstripe
我正在尝试构建一个菜单,显示1级菜单以及同一导航栏上的2级菜单.这是因为Page 1的所有孩子都需要在顶级菜单中.我可以通过在导航中循环菜单(2)轻松完成此操作,但是如果您在父页面上,则仅显示这些页面.
<% loop $Menu(2) %>
<li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li>
<% end_loop %>
<% loop $Menu(1) %>
<li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li>
<% end_loop %>
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用$ Children循环菜单的子项
如果你只想要所有子页面的整个列表,你可以循环menu1而不是渲染出来,只返回子节点:
<% loop $Menu(1) %>
<% loop $Children %>
<li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li>
<% end_loop %>
<% end_loop %>
Run Code Online (Sandbox Code Playgroud)
如果你想要它们各自的li,你可以在那里类似地添加它们:
<% loop $Menu(1) %>
<li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a>
<% if $Children %>
<ul>
<% loop $Children %>
<li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li>
<% end_loop %>
</ul>
<% end_if %>
</li>
<% end_loop %>
Run Code Online (Sandbox Code Playgroud)