2015-05-11 18 views
10

Alt menüyü çalıştırmak için bootstrap için adminLTE temasını kullanıyorum ve treeview-menu sınıfını kullanıyor. ['label' => 'Submenu', 'options' => ['class' => 'treeview-menu'], 'items' =>..yii2 nav widget alt menüsü

açıkçası çalışmıyor Hangi:

<?=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' => '#'], 
        ], 
       ], 
      ], 
     ]); 
     ?> 

kullanıyorum çalıştı.

Menü :: widget öğesinin bir submenuTemplate olduğunu fark ettim, ancak bunu kullandığımda "etkin" yi kaldırmayı durdurdu.

orada ben de adminLTE çağrı uygulanıyor yolu Treeview-menüyü değiştirebileceğiniz bir yolu var mı (menü açılır listesinden için app.js bunu değiştirmeyi denedim ama yardımcı olmadı) ya da UL alt menüsünü yeniden atamak satıcı kodu girmeden sınıf?

Hat 65: \ yii \ önyükleme \ Açılan - function init()

cevap

21

Tamam ben etrafında bir iş buluncaya yüzden - yerine Menü widget'ı kullanmak ve activateParents bayrağı etkinleştirin:

<?=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, ]); ?> 

Umarım bu da başkalarına yardımcı olur!

+2

Sadece bir not olarak, 'Menu' diyebilmek için görünüm dosyasının üstündeki' yii \ widgets \ Menu; 'kullanmanız gerekir. – Gogol

+0

Çok teşekkürler, bunun için çok yardımcı oldum, çağlar için arıyorum – Liam