2016-08-01 27 views
1

Ich möchte nur Profil in Navbar für angemeldete Benutzer hinzufügen. Und ich habe/user/profile/show in dektrium yii2-user docs gefunden.Wie benutze ich action/user/profile/show in label?

Aber es sagte:

Zeigt Benutzer-Profile (erfordert id Abfrage param)

Wie/implementieren Benutzer/profile/show in Beschriftung, die ID-Abfrage param erfordert?

Vielen Dank im Voraus

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>'; 
} 

Wenn ich Code oben verwenden und das Profil navbar klicken, sagte, es Bad Request (# 400), erforderlichen Parameter fehlt: id. Ja, ich weiß, wegen der ID-Abfrage-Parameter ist nicht definiert.

+3

Bitte den zugehörigen Code hinzufügen. – arogachev

+0

OK, ich habe bereits hinzugefügt, wo der Code eingefügt werden könnte. – exneval

Antwort

0

Sie können id hinzufügen, wie dies params:

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

url Parameter mit Url::to() Verfahren im Falle eines Array verarbeitet wird, so kann man zusätzliche Parameter als Schlüssel-Wert-Paaren bestehen.

+1

Ah .. So ist, wie wir Abfrageparameter einstellen, richtig? Vielen Dank! – exneval