2016-07-14 23 views
0

如何在Yii2的引導部件中顯示註冊和登錄鏈接?如何在yii bootstrap小部件中獲得兩個鏈接?

我在Yii框架是新

錯誤:語法錯誤,意想不到 '=>'(T_DOUBLE_ARROW),期望 ']'

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>' 
     ) 
    ], 
]); 

逗號不help:syntax error,unexpected','

回答

-1

您應該在這裏添加逗號

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

語法錯誤,意外 '' –

+0

請通過[這](http://www.yiiframework.com/doc-2.0/yii-bootstrap-nav .html)鏈接來實現Nav小部件。 – dod29

1

請嘗試此代碼正在工作。

<?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

語法錯誤,意外',' –

+0

我現在編輯你嘗試使用整個代碼。 –

+0

你有答案,或者你需要更多的幫助嗎? –

1

試圖通過這種

<?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 
    ]); 
    ?> 
相關問題