Dalam membuat aplikasi entry data, kita sering meminta pemakai aplikasi untuk memilih suatu pilihan yang telah ditentukan. Untuk menyajikan pilihan ini kita bisa membuat drop down. Berikut akan dijelaskan membuat drop down dengan framework Yii.

Dalam contoh ini kita akan membuat tabel menu dengan field-field:

  • menu_id : int
  • menu_name : varchar
  • program : varchar
  • allowe_action : text
  • remark : varchar
  • is_active : tinyint

Field is_active dirancang jika diberi 0 berarti Non Active dan jika diberi 1 maka  Active. Setalah kita selesai melakukan generate model dan CRUD untuk tabel menu ini maka langkah selanjutnya adalah  membuat drop down untuk tabel menu di Yii.  Berikut langkahnya

  1. Pada model Menu yaitu class Menu tambahkan
        public function getYesNo()
        {
            return array(
                0=>’No’,
                1=>’Yes’,
                );
        }

        public function getYesNoStr($val)
        {
            if ($val==0)
            {
                return ‘No’;
            }
            else if ($val==1)
            {
                return ‘Yes’;
            }
        }
    Function getYesNo akan dipakai sebagai daftar pilihan yang akan dimasukkan ke dalam drop down. Function getYesNoStr dipakai untuk keperluan informasi.

  2. Pada formnya yaitu views/menu/_form.php ubah codenya
        <div class=”row”>
            <?php echo $form->labelEx($model,’is_active’); ?>
            <?php //echo $form->textField($model,’is_active’);
                    echo $form->dropDownList($model,’is_active’,$model->getYesNo());
             ?>
            <?php echo $form->error($model,’is_active’); ?>
        </div>
    Di sini textField diganti dengan dropDownList
  3. Pada tampilan untuk informasinya yaitu views/menu/view.php ubah seperti contoh berikut
    <?php $this->widget(‘zii.widgets.CDetailView’, array(
        ‘data’=>$model,
        ‘attributes’=>array(
            ‘menu_id’,
            ‘menu_name’,
            ‘program’,
            ‘allowed_action’,
            ‘remark’,
             array(      
                ‘name’=>’isActive’,
                ‘value’=>$model->getYesNoStr($model->is_active) ,
            ),
        ),
    )); ?>
    Juga tampilan untuk Adminnya juga oerlu disesuaikan di /views/menu/admin.php :
    <?php $this->widget(‘zii.widgets.grid.CGridView’, array(
        ‘id’=>’menu-grid’,
        ‘dataProvider’=>$model->search(),
        ‘filter’=>$model,
        ‘columns’=>array(
            ‘menu_name’,
            ‘program’,
            ‘allowed_action’,
            ‘remark’,
             array(      
                ‘header’=>’Is Active’,
                ‘value’=>’$data->getYesNoStr($data->is_active)’ ,
            ),
            array(
                ‘class’=>’CButtonColumn’,
            ),
        ),
    )); ?>
    Tampilan Create akan seperti ini:
  4. Setelah selesai create maka tampilan View akan seperti di bawah ini:
  5. Kemudian bagian Managenya/Admin :

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Membuat drop down di Yii