2014-02-14 95 views
1

可以做到這一點嗎?cgridview中的if/else值 - yii

所以我有兩個派對,A和B.如果是用戶A,那麼他可以點擊接受鏈接,如果沒有,然後做其他事情(禁用鏈接)。 什麼不起作用'visible'因爲這隱藏了整個列。甲方可能有兩種情況需要點擊/不點擊。

尋找這樣的事情:

'value'=>'CHtml::Link("Accept", array("$data->partyA()?array("site/accept):""", "id"=>$data->id));', 

回答

4

您可以使用匿名函數的值:

'value'=>function($data,$row){ 
    if ($data->partyA()) return CHtml::link(); 
    else return ""; 
} 

使用'type'=>'raw'此列。此外,如果你想外部參數傳遞到網格中添加:

'value'=>function($data,$row) use($external){} 
+0

優秀!謝謝!! – JamAndJammies

1

試試這個

'value'=>'CHtml::link("Accept", # check your condition here # ? array("site/accept"):"#", 
array("id"=>$data->id);'