Уровень подменю yii2 nav widget
Я использую тему 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' =>..
Что явно не работает.
Я заметил, что в меню:: widget есть submenuTemplate
, но когда я использовал это, он прекратил поднимать "активный".
Есть ли способ изменить способ вызова adminLTE в treeview-меню (попытался изменить его в app.js в раскрывающемся меню, но это не помогло) или повторно назначить класс подменю UL не вдаваясь в код поставщика?
Строка 65:\yii\bootstrap\Dropdown - функция init()
Ответы
Ответ 1
Итак, я нашел обходной путь - используйте вместо этого виджет Меню и включите флаг activParents:
<?=\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, ]); ?>
Надеюсь, это поможет и другим!
Ответ 2
['label' => 'Menu 1', 'url' => ['/a/index'],],
Ответ 3
['label' => 'Menu 1', 'url' => ['/a/index'],'options' => ['class' => 'yourCssClass']],
В этом случае вы можете добавить свой класс CSS, и это сработало на моем проекте!