2017-02-21 31 views
0

我想基于条件的改变类中的DetailView一个单独的属性,:yii2的DetailView条件行类

如果我不想让有条件的,这将是工作像这样:

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

我想这一次更改为有条件的,我已经尝试了很多不同的方法,如:

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

(我认为这是最合理的解决方案,但没有任何反应,所以PAG e为装载在该属性细但没有类危险,没有错误消息)

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

=错误消息:用htmlspecialchars()预计参数1是串,对象给出

所以我不知道,我甚至没有在网上找到任何帮助。你能指点我正确的方向吗?非常感谢!

回答

2

你应该简单地尝试:

'contentOptions' => [ 
    'class' => ($model->ungueltig == 1) ? 'danger' : '', 
], 

DetailView显示只有一种模式,你不需要在这里的任何功能。

+0

哦,男人,最简单的事情并没有进入我的脑海......非常感谢! – user2511599