如何使用knp菜单包获得以下菜单结构?

时间:2013-10-11 09:40:20

标签: php symfony symfony-2.3 knpmenubundle knpmenu

我试图获得以下菜单结构,但是我没有找到解决方案而没有在knp菜单包的核心源中出现可怕的黑客攻击。

我的输出目前是:

<ul class="nav nav-list">
  <li class="open">
    <a class="dropdown-toggle" href="#">
      Systembenutzer
    </a>
    <ul class="submenu" style="display: block;">...</ul>
 </li>
</ul>

我想得到这个:

<ul class="nav nav-list">
  <li class="open">
    <a class="dropdown-toggle" href="#">
      <i class="icon-user"></i>
      <span class="menu-text">Systembenutzer
        <b class="arrow icon-angle-down pull-right"></b>
      </span>
    </a>
    <ul class="submenu" style="display: block;">...</ul>
 </li>
</ul>

我无法为标签设置以下标签&lt; i&gt;,&lt; span&gt;,&lt; b>。 是否有任何解决方案可以使其工作? 请注意,上面发布的结构是必需的,因为有一个使用javascript实现的下拉菜单。

1 个答案:

答案 0 :(得分:1)

如果我理解得很清楚你需要一种新的菜单项式。为什么不定义

的其他样式
<style type="css/text">
   .nav-list ul li >a {
   font-style: italic;
   /* options from yours class="menu-text" style */
  }
   .nav-list ul li:after >a { 
  /* options from yours class="arrow icon-angle-down pull-right" style     */
  }
</style>

如果您要更改

  • 的所有视图,这很合适。你也可以使用

    $menu->setChildrenAttribute('class', 'icon-user menu-text');
    

    在你的php菜单定义中