Как я могу отключить только ссылку на родительский элемент и оставить ее дочерние элементы кликабельными? Например, когда я нажимаю на своего родителя, оно должно открыть подменю, а не перенаправлять куда-либо еще. И если я нажимаю на детей, он должен перенаправить меня.
P.S Я прочитал документацию, искал вокруг Google, но ничего не выходит.
Это мой код:
<?php
use backend\models\PageAdmin;
use backend\helpers\BackendPrefix;
use yii\widgets\Menu;
$menu_pages = PageAdmin::find()->where('active=1 AND id_in IS NULL')->all();
$widget_menu_content = [];
foreach ($menu_pages as $key => $page){
$related_pages = PageAdmin::find()->where(['active' => 1, 'id_in' => $page->id])->all();
$widget_menu_content[$key]['label'] = "<i class='{$page->icon}'></i>";
$widget_menu_content[$key]['icon'] = $page->icon;
$widget_menu_content[$key]['url'] = BackendPrefix::PREFIX .'/'. $page->url;
if(!empty($related_pages)){
foreach ($related_pages as $key2 => $rel_page) {
$widget_menu_content[$key]['items'][$key2]['label'] = $rel_page->title;
$widget_menu_content[$key]['items'][$key2]['icon'] = "caret-right";
$widget_menu_content[$key]['items'][$key2]['url'] = BackendPrefix::PREFIX . "/" . $rel_page->url;
}
}
}
?>
<div class="side-mini-panel">
<?=
Menu::widget([
'encodeLabels' => false,
'options' => [
'class' => 'mini-nav',
],
'activeCssClass' => 'selected',
'items' => $widget_menu_content,
'submenuTemplate' => "
\n<div class='sidebarmenu'>
\n<h3 class='menu-title'>{label}</h3>
\n<div class='searchable-menu'>
\n<form role='search' class='menu-search'>
\n<input type='text' placeholder='Search...' class='form-control' />
\n<a href='javascript:void(0)'><i class='fa fa-search'></i></a>
\n</form>
\n<div>
\n<ul class='sidebar-menu'>
\n{items}
\n</ul>
\n</div>",
'linkTemplate' => "<a href='javascript:void(0)'>{label}</a>",
'activateParents' => true,
])
?>
</div
Whit my 'linkTemplate'
Я отключаю все ссылки, что, очевидно, не является моей целью :) (Это должно отключить только родителей). Кроме того, с каким токеном (или другим вариантом, потому что я думаю, items
- единственный токен для детей), я должен добавить метку дочернего элемента в эту строку: \n<h3 class='menu-title'>{label}</h3>
. В моем случае то, что я получаю, - это просто {label}
как строка.
Большое спасибо!