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

问题描述

我有一张带物品的桌子。对于每一个,如果要释放字体,我要显示一个很棒的图标“ 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来做? 非常感谢您的帮助。

解决方法

您已经在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>','onclick' =>""
]) ?> 
</td>