如何在标签中使用action / user / profile / show?

时间:2016-08-01 08:09:10

标签: yii2 yii2-advanced-app yii2-user

我只想在导航栏中为已登录用户添加个人资料。 我在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查询参数没有被定义。

1 个答案:

答案 0 :(得分:0)

您可以将id添加到params中,如下所示:

$menuItems[] = ['label' => 'Profile', 'url' => ['/user/profile/show', 'id' => $id]];
在数组的情况下,使用Url::to()方法处理

url参数,因此您可以将其他参数作为键值对传递。