2015-05-11 9 views
10

Ich benutze das adminLTE Thema für Bootstrap und es verwendet treeview-menu Klasse, um das Untermenü zu betreiben.yii2 nav widget submenu klasse

<?=Nav::widget([ 
      'options' => ['class' => 'sidebar-menu treeview'], 
      'items' => [ 

       ['label' => 'Menu 1', 'url' => ['/a/index']], 
       ['label' => 'Menu 2', 'url' => ['/custom-perks/index']], 
       ['label' => 'Submenu', 'items' => [ 
        ['label' => 'Action', 'url' => '#'], 
        ['label' => 'Another action', 'url' => '#'], 
        ['label' => 'Something else here', 'url' => '#'], 
        ], 
       ], 
      ], 
     ]); 
     ?> 

ich versucht, mit: ['label' => 'Submenu', 'options' => ['class' => 'treeview-menu'], 'items' =>..

die offensichtlich nicht funktioniert.

Ich habe festgestellt, dass Menü :: widget hat eine submenuTemplate aber wenn ich verwendet, dass es aufgehört "aktiv" abholen.

Gibt es einen Weg, wie ich entweder die Art ändern kann, wie der adminLTE-Aufruf auf treeview-Menü angewendet wird (versuchte es in app.js zu Dropdown-Menü zu ändern, aber das hat nicht geholfen) oder das UL-Untermenü neu zuweisen Klasse ohne in den Lieferantencode zu gehen?

Linie 65: \ yii \ Bootstrap \ Dropdown - Funktion init()

Antwort

21

Ok, so habe ich eine Arbeit um gefunden - nutzen Sie die Menü-Widget statt und aktivieren Sie die activateParents Flagge:

<?=Menu::widget([ 
'options' => ['class' => 'sidebar-menu treeview'], 
'items' => [ 

    ['label' => 'Menu 1', 'url' => ['/a/index']], 
    ['label' => 'Menu 2', 'url' => ['/link2/index']], 
    ['label' => 'Submenu', 
     'url' => ['#'], 
     'template' => '<a href="{url}" >{label}<i class="fa fa-angle-left pull-right"></i></a>', 
     'items' => [ 
      ['label' => 'Action', 'url' => '#'], 
      ['label' => 'Another action', 'url' => '#'], 
      ['label' => 'Something else here', 'url' => '#'], 
     ], 
    ], 
], 
'submenuTemplate' => "\n<ul class='treeview-menu'>\n{items}\n</ul>\n", 
'encodeLabels' => false, //allows you to use html in labels 
'activateParents' => true, ]); ?> 

Hoffentlich hilft dies auch anderen!

+2

Nur als eine Notiz, müssen Sie 'yii \ widgets \ Menu;' oben in der Ansichtsdatei verwenden, um 'Menü' aufrufen zu können. – Gogol

+0

Vielen Dank dafür, dass Sie sooo viel geholfen haben, ich habe seit Ewigkeiten gesucht – Liam

Verwandte Themen