我正在使用YII2菜单小工具,但没有找到在类创建的链接上添加类,目标等属性选项的解决方案。
我的代码如下:
echo Menu::widget(
[
'options' => [
'class' => 'sidebar-menu'
],
'items' => [
[
'label' => Yii::t('backend', 'Admin'),
'url' => Yii::$app->homeUrl,
'icon' => 'fa-list-alt',
'options' => [
'class' => 'treeview',
],
'items' => [
[
'label' => Yii::t('backend', 'External link'),
'url' => 'http://google.com',
'icon' => 'fa-list-alt',
'options' => [
'target' => '_blank',
],
],
]
],
]
]
);
未在生成的链接上添加选项目标。
答案 0 :(得分:8)
通过模板设置添加如下目标。您在代码中设置的选项是li
元素的Html选项,而不是链接选项。
'items' => [
[
'label' => Yii::t('backend', 'External link'),
'url' => 'http://google.com',
'icon' => 'fa-list-alt',
'template'=> '<a href="{url}" target="_blank">{label}</a>',
],
]
答案 1 :(得分:3)
上面的建议似乎不起作用(在我的情况下),另一种解决方案是:
'linkOptions' => ['target' => '_blank']
例如
[
'url' => \Yii::$app->user->identity->getBlogLink(),
'linkOptions' => ['target' => '_blank'] ,
'label' => \Yii::t('app', 'Blog')
]
答案 2 :(得分:1)
如果您想在菜单中保留图标:
'template'=> '<a href="{url}" target="_blank">{icon}{label}</a>'
关于班级,你必须在选项键中指定它:
[
'label' => 'Debug',
'icon' => 'fa fa-dashboard',
'url' => ['/debug'],
'options' => ['class' => 'special'],
'template'=> '<a href="{url}" target="_blank">{icon}{label}</a>',
],
给出以下菜单:
<li class="special">
<a target="_blank" href="your_site_url_here/index.php?r=debug">
<i class="fa fa-dashboard"></i>
<span>Debug</span>
</a>
</li>
答案 3 :(得分:-1)
您可以添加任何网址。例如,
echo Menu::widget([
'items' => [
['label' => 'Home', 'url' => ['http://www.google.com']],
['label' => 'About', 'url' => ['site/about']],
['label' => 'Contact', 'url' => ['site/contact']],
],
'options' => [
'class' => 'navbar-nav nav',
'id'=>'navbar-id',
'style'=>'font-size: 14px;',
'data-tag'=>'yii2-menu',
],
]);