我只想在导航栏中为已登录用户添加个人资料。 我在dektrium yii2-user docs中找到/ user / profile / show。
但它说:
显示用户的个人资料(需要ID查询参数)
如何在需要id查询参数的标签中实现/ user / profile / show?
提前致谢
if (Yii::$app->user->isGuest) {
$menuItems[] = ['label' => 'Signup', 'url' => ['/user/registration/register']];
$menuItems[] = ['label' => 'Login', 'url' => ['/user/security/login']];
} else {
$menuItems[] = ['label' => 'Profile', 'url' => ['/user/profile/show']];
$menuItems[] = '<li>'
. Html::beginForm(['/user/security/logout'], 'post')
. Html::submitButton(
'Logout (' . Yii::$app->user->identity->username . ')',
['class' => 'btn btn-link']
)
. Html::endForm()
. '</li>';
}
当我使用上面的代码并单击配置文件导航栏时,它表示错误请求(#400),缺少必需参数:id。是的,我知道因为id查询参数没有被定义。
答案 0 :(得分:0)
您可以将id
添加到params中,如下所示:
$menuItems[] = ['label' => 'Profile', 'url' => ['/user/profile/show', 'id' => $id]];
在数组的情况下,使用Url::to()方法处理 url
参数,因此您可以将其他参数作为键值对传递。