Templates SilverStripe 3.4+;如何在每个级别1页面的菜单中显示子页面?
我正在尝试构建一个菜单,在同一个导航栏上显示一级菜单和二级菜单。这是因为第1页的所有子项都需要位于顶层菜单中。我可以通过在导航中循环菜单(2)很容易地做到这一点,但这只显示那些页面,如果您在父页面上Templates SilverStripe 3.4+;如何在每个级别1页面的菜单中显示子页面?,templates,navigation,silverstripe,Templates,Navigation,Silverstripe,我正在尝试构建一个菜单,在同一个导航栏上显示一级菜单和二级菜单。这是因为第1页的所有子项都需要位于顶层菜单中。我可以通过在导航中循环菜单(2)很容易地做到这一点,但这只显示那些页面,如果您在父页面上 <% loop $Menu(2) %> <li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li>
<% 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 %>
您可以使用$children循环菜单的子菜单
如果您只需要所有子页面的完整列表,可以循环menu1,但不渲染它,只返回子页面:
<% loop $Menu(1) %>
<% loop $Children %>
<li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li>
<% end_loop %>
<% end_loop %>
如果要将它们添加到每个项目的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 %>
您可以使用$children循环菜单的子菜单
如果您只需要所有子页面的完整列表,可以循环menu1,但不渲染它,只返回子页面:
<% loop $Menu(1) %>
<% loop $Children %>
<li class="$LinkingMode"><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li>
<% end_loop %>
<% end_loop %>
如果要将它们添加到每个项目的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 %>