Artikel ini akan membahas bagaimana cara menambahkan custom button pada CGridView di Yii Framework. Untuk melakukan customisasi CGridView bagian button, kita harus memperhatikan ‘template‘ dan ‘buttons.’
Jika kita akan mendefinisikan tombol tambahan, ID dari tombol diperlukan disini. Sebagai contoh, jika sebuah tombol bernama ‘message‘ kita dapat menggunakan token ‘{message}‘ untuk menampilkan tombol tersebut.
Contoh :
<?php $this->widget('zii.widgets.grid.CGridView', array(
.....
'columns'=>array(
....
array(
'class'=>'CButtonColumn',
'template' => '{message}{view}{update}{delete}',
),
),
)); ?>
Langkah selanjutnya adalah melakukan customisasi untuk tombol ‘message ini’. Kita dapat mengubah url, label dan url dari gambar yang akan di tampilkan.
Contoh :
<?php $this->widget('zii.widgets.grid.CGridView', array(
.....
'columns'=>array(
....
array(
'class'=>'CButtonColumn',
'template' => '{message}{view}{update}{delete}',
'buttons' => array(
'message' => array(
'label' => 'messages',
'url' => 'CHtml::normalizeUrl(array("mail/send/", "id" => $data->id))',
'imageUrl' => Yii::app()->baseUrl . '/images/message.png',
),
),
),
),
)); ?>
Full Source
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'person-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'first_name',
'last_name',
array(
'class'=>'CButtonColumn',
'template' => '{message}{view}{update}{delete}',
'buttons' => array(
'message' => array(
'label' => 'messages',
'url' => 'CHtml::normalizeUrl(array("mail/send/", "id" => $data->id))',
'imageUrl' => Yii::app()->baseUrl . '/images/message.png',
),
),
),
),
)); ?>
No Comments
Leave a comment Cancel