在 Yii2 Html::a 标签中使用 PHP 三进制

Use PHP ternary in Yii2 Html::a tag

我有一个 table 对象。对于每一个,如果它已发布,我想显示超棒的字体图标“class fa fa-toggle-on”,否则显示 'class fa fa-toggle-off'。这是 table 中的最后一列。 下面,我正在为该列尝试的代码:

<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 来做吗? 非常感谢您对此的帮助。

您已经在 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>

试试这个:

<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>