Php Yii2如何使用isGuest向导航栏项目添加新的临时项目

Php Yii2如何使用isGuest向导航栏项目添加新的临时项目,php,yii2,yii2-basic-app,Php,Yii2,Yii2 Basic App,我是Yii2新手,最近下载了框架的基本应用程序版本。 “main.php”文件中有一个代码段: 回声导航::小部件([ '选项'=>['class'=>'导航栏导航栏右'], '项目'=>[ ['label'=>'Main','url'=>['/site/index']], ['label'=>'Countries','url'=>['/country/Countries']], ['label'=>'关于我们','url'=>['/site/About']], ['label'=>'联系人',

我是Yii2新手,最近下载了框架的基本应用程序版本。 “main.php”文件中有一个代码段:

回声导航::小部件([ '选项'=>['class'=>'导航栏导航栏右'], '项目'=>[ ['label'=>'Main','url'=>['/site/index']], ['label'=>'Countries','url'=>['/country/Countries']], ['label'=>'关于我们','url'=>['/site/About']], ['label'=>'联系人','url'=>['/site/contact']], Yii::$app->user->isGuest( ['label'=>'Login','url'=>['/user/Login']] ) : ( “
  • ” .Html::beginForm(['/user/logout'],'post') .Html::submitButton( '注销('.Yii::$app->user->identity->username.'), ['class'=>'btn btn链接注销'] ) .Html::endForm() “
  • ” ) ] ]); 我想在其中添加注册链接,如下所示:

    Yii::$app->user->isGuest ? (
                    ['label' => 'Login', 'url' => ['/user/login']],
                    ['label' => 'Register', 'url' => ['/user/registration']]
            ) : (
                '<li>'
                . Html::beginForm(['/user/logout'], 'post')
                . Html::submitButton(
                    'Logout(' . Yii::$app->user->identity->username . ')',
                    ['class' => 'btn btn-link logout']
                )
    
    Yii::$app->user->isGuest?(
    ['label'=>'Login','url'=>['/user/Login']],
    ['label'=>'Register','url'=>['/user/registation']]
    ) : (
    “
  • ” .Html::beginForm(['/user/logout'],'post') .Html::submitButton( '注销('.Yii::$app->user->identity->username.'), ['class'=>'btn btn链接注销'] )

  • 我知道这种代码的和平是错误的,但我想问,我如何才能以正确的方式做到这一点?

    您的尝试无效,因为您使用的三元运算符只允许1个值而不允许2个值。登录和注册是2个数组

    一种可能的解决办法:

    // What everybody sees
    $items = [
        ['label' => 'Main', 'url' => ['/site/index']],
        ['label' => 'Countries', 'url' => ['/country/countries']],
        ['label' => 'About us', 'url' => ['/site/about']],
        ['label' => 'Contacts', 'url' => ['/site/contact']],
    ];
    
    // What only guests see
    if (Yii::$app->user->isGuest) {
        $items[] = ['label' => 'Registration', 'url' => ['/user/registration']];
        $items[] = ['label' => 'Login', 'url' => ['/user/login']];
    }
    
    // What logged in users see
    else {
        $items[] = '<li>'
            . Html::beginForm(['/user/logout'], 'post')
            . Html::submitButton(
                'Logout(' . Yii::$app->user->identity->username . ')',
                ['class' => 'btn btn-link logout']
            )
            . Html::endForm()
            . '</li>';
    }
    
    // Echo your navigation
    echo Nav::widget([
        'options' => ['class' => 'navbar-nav navbar-right'],
        'items' => $items,
    ]);
    
    //每个人看到的
    $items=[
    ['label'=>'Main','url'=>['/site/index']],
    ['label'=>'Countries','url'=>['/country/Countries']],
    ['label'=>'关于我们','url'=>['/site/About']],
    ['label'=>'联系人','url'=>['/site/contact']],
    ];
    //只有客人才能看到什么
    如果(Yii::$app->user->isGuest){
    $items[]=['label'=>'Registration','url'=>['/user/Registration'];
    $items[]=['label'=>'Login','url'=>['/user/Login'];
    }
    //登录用户看到什么
    否则{
    $items[]='
  • ' .Html::beginForm(['/user/logout'],'post') .Html::submitButton( '注销('.Yii::$app->user->identity->username.'), ['class'=>'btn btn链接注销'] ) .Html::endForm() “
  • ”; } //回显您的导航 echo导航::小部件([ '选项'=>['class'=>'导航栏导航栏右'], 'items'=>$items, ]);
    你说得对,我也尝试过通过一个helper变量使用,但我误用了它。谢谢!
    // What everybody sees
    $items = [
        ['label' => 'Main', 'url' => ['/site/index']],
        ['label' => 'Countries', 'url' => ['/country/countries']],
        ['label' => 'About us', 'url' => ['/site/about']],
        ['label' => 'Contacts', 'url' => ['/site/contact']],
    ];
    
    // What only guests see
    if (Yii::$app->user->isGuest) {
        $items[] = ['label' => 'Registration', 'url' => ['/user/registration']];
        $items[] = ['label' => 'Login', 'url' => ['/user/login']];
    }
    
    // What logged in users see
    else {
        $items[] = '<li>'
            . Html::beginForm(['/user/logout'], 'post')
            . Html::submitButton(
                'Logout(' . Yii::$app->user->identity->username . ')',
                ['class' => 'btn btn-link logout']
            )
            . Html::endForm()
            . '</li>';
    }
    
    // Echo your navigation
    echo Nav::widget([
        'options' => ['class' => 'navbar-nav navbar-right'],
        'items' => $items,
    ]);