2016-07-14 1 views
0

comment montrer le registre et les liens de connexion dans le widget de bootstrap pour Yii2?comment obtenir deux liens dans le widget yii bootstrap?

Je suis nouveau dans le cadre Yii

Erreur: erreur de syntaxe, unexpected '=>' (T_DOUBLE_ARROW), expecting ']'

echo Nav::widget([ 
    'options' => ['class' => 'navbar-nav navbar-right'], 
    'items' => [ 
     ['label' => 'Home', 'url' => ['/site/index']], 
     ['label' => 'About', 'url' => ['/site/about']], 
     ['label' => 'Contact', 'url' => ['/site/contact']], 
     Yii::$app->user->isGuest ? (
     ['label' => 'Login', 'url' => ['/site/login']] 
     ['label' => 'Register', 'url' => ['/site/Register']] 
     ) : (
      '<li>' 
      . Html::beginForm(['/site/logout'], 'post', ['class' => 'navbar-form']) 
      . Html::submitButton(
       'Logout (' . Yii::$app->user->identity->username . ')', 
       ['class' => 'btn btn-link'] 
      ) 
      . Html::endForm() 
      . '</li>' 
     ) 
    ], 
]); 

la virgule non aide: erreur de syntaxe, inattendue ','

Répondre

-1

vous devez ajouter une virgule ici

Yii::$app->user->isGuest ? (
    ['label' => 'Login', 'url' => ['/site/login']], 
               ^ 
    ['label' => 'Register', 'url' => ['/site/Register']] 
+0

erreur de syntaxe, inattendue '' –

+0

S'il vous plaît passer par ([ce] http://www.yiiframework.com/doc-2.0/yii-bootstrap-nav .html) lien pour implémenter le widget Nav. – dod29

1

Essayez, ce code fonctionne.

<?php 
NavBar::begin([ 
    'brandLabel' => 'My Company', 
    'brandUrl' => Yii::$app->homeUrl, 
    'options' => [ 
     'class' => 'navbar-inverse navbar-fixed-top', 
    ], 
]); 
$menuItems = [ 
    ['label' => 'Home', 'url' => ['/site/index']], 
    ['label' => 'About', 'url' => ['/site/about']], 
    ['label' => 'Contact', 'url' => ['/site/contact']], 
]; 
if (Yii::$app->user->isGuest) { 
    $menuItems[] = ['label' => 'Signup', 'url' => ['/site/signup']]; 
    $menuItems[] = ['label' => 'Login', 'url' => ['/site/login']]; 
} else { 
    $menuItems[] = '<li>' 
     . Html::beginForm(['/site/logout'], 'post') 
     . Html::submitButton(
      'Logout (' . Yii::$app->user->identity->username . ')', 
      ['class' => 'btn btn-link'] 
     ) 
     . Html::endForm() 
     . '</li>'; 
} 
echo Nav::widget([ 
    'options' => ['class' => 'navbar-nav navbar-right'], 
    'items' => $menuItems, 
]); 
NavBar::end(); 
?> 
+0

erreur de syntaxe, inattendu ',' –

+0

J'ai édité maintenant vous essayez d'utiliser le code entier. –

+0

vous avez la réponse ou avez-vous besoin de plus d'aide? –

1

Essayez par cette

<?php 
    $items[]=[ 
      ['label' => 'Home', 'url' => ['/site/index']], 
      ['label' => 'About', 'url' => ['/site/about']], 
      ['label' => 'Contact', 'url' => ['/site/contact']] 
     ]; 
      if(Yii::$app->user->isGuest) { 
      $items[]= ['label' => 'Login', 'url' => ['/site/login']]; 
      $items[]= ['label' => 'Register', 'url' => ['/site/Register']]; 
      }else{ 
       $items[]= '<li>' 
       . Html::beginForm(['/site/logout'], 'post', ['class' => 'navbar-form']) 
       . Html::submitButton(
        'Logout (' . Yii::$app->user->identity->username . ')', 
        ['class' => 'btn btn-link'] 
       ) 
       . Html::endForm() 
       . '</li>'; 
      } 

    echo Nav::widget([ 
     'options' => ['class' => 'navbar-nav navbar-right'], 
     'items' => $items 
    ]); 
    ?>