bootstrapにadminLTEテーマを使用しており、サブメニューを操作するためにtreeview-menu
クラスを使用しています。
<?=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' => '#'],
],
],
],
]);
?>
使用してみました:['label' => 'Submenu', 'options' => ['class' => 'treeview-menu'], 'items' =>..
これは明らかに機能しません。
Menu :: widgetにsubmenuTemplate
があることに気づきましたが、それを使用すると、「アクティブ」のピックアップが停止しました。
AdminLTE呼び出しがtreeview-menuに適用される方法を変更する方法(app.jsでドロップダウンメニューに変更しようとしましたが、それは役に立ちませんでした)、またはに入ることなくULサブメニュークラスを再割り当てする方法はありますか?ベンダーコード?
65行目:\ yii\bootstrap\Dropdown-function init()
回避策を見つけました。代わりにメニューウィジェットを使用して、activateParentsフラグを有効にしてください。
<?=\yii\widgets\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, ]); ?>
うまくいけば、これは他の人にも役立つでしょう!