CButtonColumn 的 visible 出错。

如题:

如下使用 CButtonColumn 的 visible:




'buttons' => array(

    'update' => array(

        'url' => 'Yii::app()->controller->createUrl("updateFileAttachment", array("id" => $data->primaryKey))',

        'visible' => $order->from_member_id == Yii::app()->user->id ? true : false,

    ),

),



这样使用出错。

看了一下源代码,使用的是if (isset($button[‘visible’]) && !$this->evaluateExpression($button[‘visible’],array(‘row’=>$row,‘data’=>$data)))来判断,我想这里是不是直接接受 true false就可以了?

PS. 看不懂这句的判断条件,:slight_smile:

‘visible’ => $order->from_member_id == Yii::app()->user->id ? null: ‘’,

嗯。可以了。

另外请问一下

$this->evaluateExpression($button[‘visible’],array(‘row’=>$row,‘data’=>$data))

这个是什么意思?

把$button[‘visible’]字符串,当作php code,解释运行,且字符串中可以用到标识符:$row, $data。核心函数应该是php 的eval()函数;