Код: Выделить всё
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' => 'Logout (' . Yii::$app->user->identity->username . ')',
'url' => ['/site/logout'],
'linkOptions' => ['data-method' => 'post']],
],
]);
Код: Выделить всё
Yii::$app->user->isGuest ?
['label' => 'Login', 'url' => ['/site/login']] :
['label' => 'Logout (' . Yii::$app->user->identity->username . ')',
'url' => ['/site/logout'],
'linkOptions' => ['data-method' => 'post']],
Код: Выделить всё
if (true)
return ['label' => 'Login', 'url' => ['/site/login']],
Дело в том, что мне нужно в виджете вставлять колонку, только если выполняется некоторое условие, иначе ничего не делать.
Знаю, можно сделать отдельно массив колонок и потом добавить. Но вопрос не об этом. Вопрос о том, как преобразовать тернарный оператор в if () ... если такое возможно вообще? А если нет, то подскажите, почему тернарный оператор работает между массивами (я чет не понимаю)?