У меня есть вот такой CGridView
array(
'class'=>'CButtonColumn',
'htmlOptions'=>array('width'=>'100', 'style'=>'vertical-align: middle; text-aline: left'),
'buttons'=>array(
'activate'=>array(
'label'=>'Activate',
'imageUrl'=>'/images/activate_g.png',
'url'=>'Yii::app()->createUrl("user/ChangeStatus", array("id"=>$data->id, "action"=>"activate", "product_id"=>returnProductId($data->type, $data->version)))',
'click'=>'function() {
$.fn.yiiGridView.update("flash_updated",{
type:"POST",
url:$(this).attr("href"),
success:function(data) {
$.fn.yiiGridView.update("flash_updated");
},
error:function() {
}
});
return false;
}',
'visible'=>'($data->status == 2 || $data->status == 3) ? true : false',
),
),
)
а в контроллере такая функция
public function actionChangeStatus($id, $action, $product_id)
{
$res = false;
if(Yii::app()->request->isPostRequest)
{
// we only allow deletion via POST request
if(!$model = Flash::model()->findByPk($id)) {
throw new CHttpException(404, 'No flash found.');
}
($action == 'activate') ? $model->status = 1 : $model->status = 2;
if ($model->save()) {
$user_products = UserHasProduct::model()->findByAttributes(array('user_id'=>Yii::app()->user->id, 'product_id'=>$product_id));
($action == 'activate') ? $user_products->active = 1 : $user_products->active = 0;
if($user_products->save()) {
$res_user_product = true;
}
$res = true;
}
if(!isset($_GET['ajax']))
$this->redirect(array('index'));
}
else
throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
}
Все работает нормально, статус меняется, но я хочу передать дополнительную переменную ($testvar) назад в ajax функцию и получить к ней доступ через data.testvar
success:function(data) {
alert(data.testvar)
$.fn.yiiGridView.update("flash_updated");
},
Как я могу это сделать?
Спасибо!