SilverStripe 3.4+ 如何在每个一级页面的菜单中显示子页面?
SilverStripe 3.4+ How to show child pages in the menu from every level 1 page?
我正在尝试构建一个菜单,该菜单在同一导航栏上显示 1 级菜单和 2 级菜单。这是因为第 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 %>
您可以使用 $Children
循环菜单的子项
如果您只想要所有子页面的完整列表,您可以循环 menu1 并且不渲染它,return 只需要子页面:
<% 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 %>
我正在尝试构建一个菜单,该菜单在同一导航栏上显示 1 级菜单和 2 级菜单。这是因为第 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 %>
您可以使用 $Children
循环菜单的子项如果您只想要所有子页面的完整列表,您可以循环 menu1 并且不渲染它,return 只需要子页面:
<% 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 %>