CGridView добавляет еще одну кнопку удаления с почтовым запросом ajax

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

Пример использования:

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

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


person netuser24    schedule 26.03.2012    source источник


Ответы (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')),
            ))
person Speedy    schedule 10.07.2012

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

person Puigcerber    schedule 26.03.2012
comment
Я уже пробовал это, добавив пользовательскую кнопку в свойство кнопок CButtonColumn. Проблема заключалась в том, что элемент click в массиве кнопок не оценивается php (как URL-адрес), поэтому я не могу передать идентификатор строки в свой почтовый запрос ajax. - person netuser24; 26.03.2012
comment
Тогда извините, потому что, наверное, я не понимаю вашего вопроса. - person Puigcerber; 28.03.2012