yii CButton Column

Как мне изменить ссылки внутри CGridview?

Это с моей страницы просмотра:

$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$new,
'columns'=>array(
'book.title',
'book.author',
'book.edition',
'date_borrowed',
'borrowed_status',
'date_returned',
'returned_status',
    array(
        'class'=>'Viewonly',
    ),
)
));

тогда из моих компонентов:

class ViewOnly extends CButtonColumn {
    public $template = '{view}';
}

то, что я хочу, чтобы произошло "ДЛЯ ПРИМЕРА", если я нажму кнопку просмотра в моем CGridview, он перенаправит меня на http://www.google.com/?action=someaction. Как я могу это сделать?

2 ответа

Решение

Вам не нужен отдельный класс кнопок. Сделайте что-то вроде этого:

array(
   'class'=>'CButtonColumn',
   'template'=>'{view} {google}',
   'viewButtonUrl=>'Yii::app()->createUrl("http://google.com/",array("q"=>$data->name))',
   'google'=>array(
      ... Init code for this button here
   ),
)

Здесь есть документ, вы можете проверить его.

Кстати, документ говорит, что вы можете использовать url параметр в Array:

array(
    'url' => '', //url comes here
),

Изменить: массив должен быть из columns,

Другие вопросы по тегам