1

ログインしたユーザーのナビゲーションバーにプロファイルを追加したいだけです。そして、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>';
}

上記のコードを使用してプロファイル ナビゲーション バーをクリックすると、Bad Request (#400), Missing required parameters: id と表示されました。はい、id クエリ パラメータが定義されていないため、私は知っています。

4

1 に答える 1

0

id次のように params に追加できます。

$menuItems[] = ['label' => 'Profile', 'url' => ['/user/profile/show', 'id' => $id]];

urlパラメータは配列の場合はUrl::to()メソッドで処理されるため、追加のパラメータをキーと値のペアとして渡すことができます。

于 2016-08-01T09:43:28.307 に答える