2016-07-14 37 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 
    ]); 
    ?> 
相关问题