php - 菜单中的 Bad Nav::widget 编码,如何解决?

标签 php yii menu yii2 nav

在 Nav::widget 中我写了新的菜单条目:

['label' => 'My profile', 'url' => ['/profile/professional&id='.$userlog->id]],

一切正常,我在菜单中看到了链接。在菜单悬停时,我在 firefox 中看到了很好的 url 地址:

/index.php?r=profile/professional&id=22

当我点击时,它会将我重定向到

/index.php?r=profile%2Fprofessional%26id%3D22

我看到 404 错误。如果我将 %2F 和其他符号更改为斜杠、“&”和“=”- 此 url 有效。

我用 utf-8 编码保存菜单文件,为什么我看到带有 %2F 和其他符号的 url?如何解决?

最佳答案

这是因为%2F%26%3D/的urlencoded字符,&= 分别。这是因为您将 Url 生成为字符串。 Yii 默认会在 url 属性中对字符串进行 Url 编码。您将需要使用类似这样的东西来使其工作

['label' => 'My profile','url' => [\Yii::$app->urlManager->createUrl(['/profile/professional','id'=>$userlog->id])]],

关于php - 菜单中的 Bad Nav::widget 编码,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29462941/

相关文章:

php - 两个日期之间的 CodeIgniter 记录选择

jQuery 水平滚动隐藏,可能只有 css?

php - 从php中的mysql表中选择整数值

php - Eclipse PDT 自动实现接口(interface)方法

php - 在 Yii 中将当前日期加 1 个月

php - DateTime 数据类型、MySQL 和 Yii

css - 悬停时改变 li 的颜色

jQuery 目标菜单选择器

javascript - 将 Jquery 对象数组传递到 php 数组

php - 使用Where和Group By子句在Yii中的CDBCriteria中编写查询