class - yii2详细 View 条件行类

标签 class if-statement yii2 attributes detailview

我想根据条件更改详细 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/

相关文章:

python - python字符串类在源代码中的位置

Java 使用新类向现有类添加功能,同时仍然公开先前类的所有方法

java - 为什么它打印两次?如果别的

excel - 如何计算,如果某个范围内的任何单元格包含一个值,则进行求和,否则不显示任何内容

python - 有条件的 Pandas Dataframe

php - 使用第三方库记录来自 PHP 应用程序的所有 cURL 请求

C# 转换为基类并使用它的方法

vb.net - 如何在VB中创建一个类,其对象之一是另一个类的类型?

php - Yii2 GridView 中的重复记录

yii2 - 如何使用 Yii2 ActiveDataProvider 设置当前页面?