2017-02-21 64 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