Reputation: 412
I have model DangTuyen
and function
public function statusImageAccept($status) {
$str = "";
if($status == 0)
$str = Yii::app()->request->baseUrl . '/images/layout/dangTuyen/tick_icon_OK_black.png'.$status;
else
$str = Yii::app()->request->baseUrl . '/images/layout/dangTuyen/tick_icon_green.png'.$status;
$arr = array(
'label' => 'Accept',
'imageUrl' => $str,
'htmlOption' => array('class' => 'imageIcon'),
'click' => 'function(){}',
);
return $arr;
}
I use gridview:
Controller::widget('zii.widgets.grid.CGridView', array(
'id' => 'dang-tuyen-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(
'accept' => $model->statusImageAccept('$data->status'),
));
When use $model->statusImageAccept('$data->status')
then in function statusImageAccept($status)
, var $status is string $data->status
How to use $data
?
Upvotes: 1
Views: 3743
Reputation: 3188
Try this way:
Controller::widget('zii.widgets.grid.CGridView', array(
'id' => 'dang-tuyen-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(
array(
'header' => '',
'type' => 'raw',
'value' => function($data) {
$imageUrl = Yii::app()->request->baseUrl . '/images/layout/dangTuyen/';
if (0 == $data->status) {
$imageUrl .= 'tick_icon_OK_black.png' . $data->status;
} else {
$imageUrl .= 'tick_icon_green.png' . $data->status;
}
return CHtml::link(CHtml::image($imageUrl,'Accept'),$url, array(
'click' => 'function(){}',
'class' => 'imageIcon',
));
}
)
)
);
Upvotes: 3