我想根据条件更改详细 View 中单个属性的类:
如果我不想让它有条件,它会像这样工作:
[
'attribute' => 'ungueltig',
'format' => 'boolean',
'contentOptions' => [
'class' => 'danger',
]
],
我想把这个改为条件式,我尝试了很多不同的方法,例如:
[
'attribute' => 'ungueltig',
'format' => 'boolean',
'contentOptions' => function ($model) {
if ($model->ungueltig == 1) {
return ['class' => 'danger'];
} else {
return '';
}
},
],
(我认为这是最合乎逻辑的解决方案,但没有任何反应,因此页面加载正常,但属性上没有类危险,没有错误消息)
或
[
'attribute' => 'ungueltig',
'format' => 'boolean',
'contentOptions' => ['class' => function ($model) {
if ($model->ungueltig == 1) {
return 'danger';
} else {
return '';
}
},]
],
= 错误消息:htmlspecialchars() 期望参数 1 为字符串,给定对象
所以我不知道,我什至在网上找不到任何帮助。你能指出我正确的方向吗?非常感谢!
最佳答案
你应该简单地尝试:
'contentOptions' => [
'class' => ($model->ungueltig == 1) ? 'danger' : '',
],
DetailView
仅显示一种模型,此处不需要任何功能。
关于class - yii2详细 View 条件行类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42362266/