【问题标题】:Silverstripe Menu, Submenu, and BreadcrumbsSilverstripe 菜单、子菜单和面包屑
【发布时间】:2015-08-28 16:04:36
【问题描述】:

如何更改默认的 Silverstripe 主题“简单”,以便在单击子菜单(在侧边栏上)时,侧边栏菜单会通过 $Breadcrumbs 替换为面包屑。单击 Menu1 时显示侧边栏的示例

       Menu1   Menu2    Menu3

Menu1(不可点击,只是一个标题) 子菜单1 子菜单2

但是当单击 SubMenu1 或 SubMenu2 时,整个侧边栏消失并显示 $Breadcrumbs。

       Menu1   Menu2    Menu3

菜单1-->子菜单1 $内容

因此,当单击面包屑上的 Menu1 时,它会返回到 Menu1。

【问题讨论】:

    标签: menu submenu silverstripe breadcrumbs


    【解决方案1】:

    首先,你为什么要实现这个?我在这里看不到真正的好处,但如果你真的需要这个,那么这可能是一个答案:

    1) 如果您处于$Menu(1) 级别,则在侧边栏中仅显示$MenuTitle.XML(或仅$Title,它们几乎相同)

    2) 否则,如果您处于$Menu(2) 或比(2) 更深的级别,则显示面包屑

    您可以通过检查您目前所处的级别并显示您需要的内容来实现这一点:

    <% if $Menu(1) %>
      <!-- Here you print only titles-->
      <% loop $Menu(1) %>
        <a href="$Link">$MenuTitle.XML</a>
      <% end_loop %>
    <% else %>
      <!-- Here you print out the BreadCrumbs, only if you are deeper than 1st level menu -->
      <% include $BreadCrumbs %>
    <% end_if %>
    

    在这里你检查你是否在第一级然后只显示带有链接的标题,然后如果你在子页面上显示BreadCrumbs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多