CGridView добавить еще одну кнопку удаления с пост-запросом ajax - PullRequest
2 голосов
/ 26 марта 2012

Здравствуйте, можно ли добавить еще одну кнопку удаления в Yii CGridView? Я хотел бы, чтобы он отправил запрос ajax на один из моих контроллеров.

Вариант использования:

Допустим, у меня есть запись в блоге с комментариями. В администрации я хотел бы иметь gridview, где я могу удалить эту запись в блоге (это уже возможно) возможно. Я также хотел бы иметь еще одну кнопку удаления рядом с исходной кнопкой удаления, которая будет удалять только комментарии блога (которые я не знаю, как добавить).

Я просмотрел HTML, сгенерированный фреймворком Yii, чтобы увидеть, как работает оригинальная кнопка удаления. Одним из возможных решений было бы скопировать / вставить этот код, удалить и обновить код сценария Java и немного его изменить. Но мне это не нравится. У меня есть некоторые опасения, что если я сделаю это, то при обновлении платформы Yii не будет гарантии, что мое решение все еще будет работать.

Ответы [ 2 ]

4 голосов
/ 10 июля 2012

Используйте приведенный выше учебник и добавьте 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')),
            ))
0 голосов
/ 26 марта 2012

Вы можете следовать этому Используя CButtonColumn для настройки кнопок в CGridView , чтобы добавить новую кнопку, которая будет вызывать действие в вашем контроллере для удаления комментариев.Приветствия.

...