You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Yii框架导航栏Tutorial项设置为外部链接?

解决Yii框架Nav组件外部链接自动拼接域名的问题

在Yii的Nav::widget配置中,直接使用url参数传入数组时,框架会默认将其解析为应用内部路由,自动拼接当前应用域名。要跳转外部页面,有两种可靠的解决方式:

方法一:直接传入完整的外部URL字符串

把url参数的值设为包含协议头(http://或https://)的完整外部URL字符串,框架会识别为外部链接,不再拼接域名:

[
    'label' => 'Tutorial',
    'url' => 'https://google.com', // 直接填写完整外部URL
],

方法二:使用linkOptions配置href属性

如果需要保留url参数的其他逻辑(比如权限判断),可以通过linkOptions直接设置a标签的href属性,覆盖框架生成的内部链接:

[
    'label' => 'Tutorial',
    'url' => '#', // 填写任意占位值即可,会被href属性覆盖
    'linkOptions' => [
        'href' => 'https://google.com',
        'target' => '_blank', // 可选:设置为新窗口打开外部链接
    ],
],

关键注意点

  • 必须确保外部URL包含http://或https://协议头,否则框架仍会将其视为相对路径拼接应用域名。

内容的提问来源于stack exchange,提问作者Wellbeing Toolkit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:43:16