[英]Yii2. If condition inside array
Default Yii2 layout has navbar with shorthand if condition for login menu entry 如果登录菜单项的输入条件,则默认的Yii2版式具有带导航栏的简写
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-right'],
'items' => [
/*
...
some items
...
*/
Yii::$app->user->isGuest ? (
['label' => 'Login', 'url' => ['/site/login']]
) : (
'<li>'
. Html::beginForm(['/site/logout'], 'post')
. Html::submitButton(
'Logout (' . Yii::$app->user->identity->username . ')',
['class' => 'btn btn-link']
)
. Html::endForm()
. '</li>'
),
],
]);
How I can add few entries into this condition? 如何在这种情况下添加几个条目? This doesn't work(syntax error - unexpected ',') 这不起作用(语法错误-意外的',')
Yii::$app->user->isGuest ? (
['label' => 'Login', 'url' => ['/site/login']],
['label' => 'Register', 'url' => ['/site/register']]
) :
Seems easier to add items to the array outside of the widget definition. 似乎更容易在小部件定义之外将项目添加到数组中。
$items = /* some items */;
if (Yii::$app->user->isGuest) {
$items[] = ['label' => 'Login', 'url' => ['/site/login']];
$items[] = ['label' => 'Register', 'url' => ['/site/register']];
} else {
$items[] = ['your html'];
}
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-right'],
'items' => $items,
]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.