Как решить проблему?
array(
'header'=>'Manage',
'class'=>'CButtonColumn',
'template'=>'{Manage}',
//'visible'=>'$data->checkSub($data->sub_id)', //it not work not call function
'visible'=>Model::test(), //it works
'buttons'=>array(
'Manage Exam Result'=>array(
'label'=>'<i class="fa fa-cogs"></i>',
),
),
),
),
array(
'class'=>'CButtonColumn',
'buttons'=>array(
'manage' => array('visible' => 'name_function($data->id)'),
),
),
visible
не оценивается для каждой строки, он должен быть установлен в true или false в конце. Поэтому, чтобы определить, отображается ли текущий столбец, вам нужно вызвать одну функцию из вашего представления, которая возвращает true или false.
[
...
'visible' => Model::checkIfVisibleColumn(),
...
],