YII2:如何在菜单项中创建链接/网址以指向外部网页而不是我的应用程序的操作或视图

Moh*_*hir 1 php menu widget yii2

我正在使用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',
                    ],
                ],
            ]
        ],                

    ]
]
 );
Run Code Online (Sandbox Code Playgroud)

未在生成的链接上添加选项目标.

BHo*_*oft 10

通过模板设置添加如下目标.您在代码中设置的选项是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>',
    ],
]
Run Code Online (Sandbox Code Playgroud)


use*_*936 6

上面的建议似乎不起作用(就我而言),另一种解决方案是:

'linkOptions' => ['target' => '_blank']
Run Code Online (Sandbox Code Playgroud)

例如

[
    'url' => \Yii::$app->user->identity->getBlogLink(),
    'linkOptions' => ['target' => '_blank']  ,
    'label' => \Yii::t('app', 'Blog')
]
Run Code Online (Sandbox Code Playgroud)