CGridView добавить еще одну кнопку удаления с пост-запросом ajax
Здравствуйте, можно ли добавить еще одну кнопку удаления в Yii CGridView? Я хотел бы, чтобы он отправил запрос ajax на один из моих контроллеров.
Вариант использования будет:
Допустим, у меня есть запись в блоге с комментариями. В администрации я хотел бы иметь gridview, где я могу удалить эту запись в блоге (это уже возможно) возможно. Я также хотел бы иметь еще одну кнопку удаления рядом с исходной кнопкой удаления, которая будет удалять только комментарии блога (которые я не знаю, как добавить).
Я просмотрел HTML, сгенерированный фреймворком Yii, чтобы увидеть, как работает оригинальная кнопка удаления. Одним из возможных решений было бы скопировать / вставить этот код, удалить и обновить код сценария Java и немного его изменить. Но мне это не нравится. У меня есть некоторые опасения, что если я сделаю это, при обновлении платформы Yii не будет гарантии, что мое решение все еще будет работать.
2 ответа
Используйте вышеприведенный учебник и добавьте class="delete" к новой кнопке
'options'=>array('class'=>'delete')
Фреймворк Yii назначает вызов ajax этому классу.
array('class'=>'CButtonColumn','template'=>'{remove}{view}{update}{delete}',
'htmlOptions'=>array('style'=>'width:65px'),
'buttons'=>array(
'remove'=>array('url'=>'Yii::app()->createUrl("resolution/removeApp", array("id_application"=>$data->id_application,"id_resolution"=>'.$model->id_resolution.'))','label'=>'Remove application from resolution.','imageUrl'=>Yii::app()->request->baseUrl.'/images/remove.png','options'=>array('class'=>'delete')),
))
Вы можете следовать этому, используя CButtonColumn для настройки кнопок в CGridView, чтобы добавить новую кнопку, которая будет вызывать действие в вашем контроллере для удаления комментариев. Приветствия.