mardi 21 février 2017

yii2 detailview conditional row class

I would like to change class for one single attribute in detailview, based on a condition:

If I wouldn't want to make it conditional, it would be working like so:

[
    'attribute' => 'ungueltig',
    'format' => 'boolean',
    'contentOptions' => [
        'class' => 'danger',
        ]
],

I want this one to change to conditional, and I have tried a lot of different ways, e.g.:

[
    'attribute' => 'ungueltig',
    'format' => 'boolean',
    'contentOptions' => function ($model) {
        if ($model->ungueltig == 1) {
            return ['class' => 'danger'];
        } else {
            return '';
        }
    },
],

(I would think this is the most logical solution, but nothing happens, so page is loading fine but without class danger at the attribute, no error message)

or

[
    'attribute' => 'ungueltig',
    'format' => 'boolean',
    'contentOptions' => ['class' => function ($model) {
        if ($model->ungueltig == 1) {
            return 'danger';
        } else {
            return '';
        }
    },]
],

= error message: htmlspecialchars() expects parameter 1 to be string, object given

so I have no clue and I don't even find any help on the web. Can you please point me to the right direction? Many thanks!

Aucun commentaire:

Enregistrer un commentaire