У меня есть таблица с предметами. Для каждого из них я хочу отобразить отличный шрифт «class fa fa-toggle-on», если он выпущен, в противном случае - «class fa fa-toggle-off». Это последний столбец в таблице. Ниже мой код, который я пытаюсь использовать для этого столбца:

<td>
<?php echo Html::a('<i class='<?=($object->is_released == true) ? 'fa fa-toggle-on' : 'fa fa- 
toggle- off';?>'</i>', ['objects/release', 'id' => $object->id], [
'title' => 'Released',
'onclick' =>""
]) ?> 
</td>

Это еще не все, но я не могу заставить работать тернарный оператор php. Кажется, он его вообще не интерпретирует, вероятно, потому, что я не знаю здесь правильный синтаксис. Или я могу сделать это с помощью Javascript? Очень благодарен за помощь в этом.

0
Perry J 14 Сен 2020 в 16:21

2 ответа

Лучший ответ

Вы уже используете тег PHP, поэтому вам нужна конкатенация:

<td>
<?php echo Html::a('<i class="'.(($object->is_released == true) ? 'fa fa-toggle-on' : 'fa fa-toggle-off').'"></i>', ['objects/release', 'id' => $object->id], [
'title' => 'Released',
'onclick' =>""
]) ?> 
</td>
0
pLe0mAx 14 Сен 2020 в 13:31

Попробуй это:

<td>
<?php echo Html::a('<i class="'.($object->is_released ? 'fa fa-toggle-on' : 'fa fa-toggle-off').'"></i>', ['objects/release', 'id' => $object->id], [
'title' => 'Released',
'onclick' =>""
]) ?> 
</td>
0
Patrick BALEMAKEN 14 Сен 2020 в 13:38