1. PHP
  2. Yii Framework

Yii Framework Menambahkan Custom button pada CGridView

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',
                ),
            ),
        ),
    ),
)); ?>
Comments to: Yii Framework Menambahkan Custom button pada CGridView

    Your email address will not be published. Required fields are marked *

    Attach images - Only PNG, JPG, JPEG and GIF are supported.