Yii2 ?: layouts / main.php中的条件

时间:2017-07-28 07:52:40

标签: yii2 conditional-statements

我想写一个像这样的条件,例如:

Yii::$app->user->isGuest ? (

   ['label' => 'Sign Up', 'url' => ['/site/signup']]

):(
   //do nothing
)

?:条件可以没有else部分吗?

修改

它被发送到数组'items' => [],这就是为什么下面的代码不起作用的原因:

 if(Yii::$app->user->isGuest)(       
       ['label' => 'Sign Up', 'url' => ['/site/signup']];      
)

完整代码:

NavBar::begin([
        //somecode
    ]);
    echo Nav::widget([
        'options' => ['class' => 'navbar-nav navbar-right'],
        'items' => [

            Yii::$app->user->isGuest ? (

                ['label' => 'Sign Up', 'url' => ['/site/signup']]

            ):(
                //HOW TO DO NOTHING HERE???
            )

        ],
    ]);

2 个答案:

答案 0 :(得分:2)

如果你在数组中使用条件,那么它是可能的。

也许您可以查看此链接。

Conditionally show items of Nav widget

也许有用 CMIIW

答案 1 :(得分:1)

  

您可以将其写为 -

['label' => 'Sign Up', 'url' => ['/site/signup'], 'visible' => Yii::$app->user->isGuest ]