Memakai Emultiselect di yiiframework
Yaps akhirnya ane make YiiFramework juga. Setelah temen - temen ane yang make framework ini udah banyak dan baru sekarang ane make and then terbukti membuat ane terpesona dengan smua fungsi yang ada di Yiiframework..Coz udah banyak sample coding yiiframework di tempat blog temen ane di sabitlabscode.wordpress.com. Sekedar nambahin aja biar gak lupa dikemudian hari makanya ane publish disini..
Langsung saja pada kesempatan kali ini ane ingin membuat post tentang bagaimana cara membuat tampilan multiple selections dengan menggunakan dropdown list di yii..
Lihat bagaimana hasil yang kita inginkan nantinya seperti ini..
http://www.yiiframework.com/extension/emultiselect/
Nah untuk membuat tampilan pilihan pada gambar seperti diatas download extensi pada url yang ane kasih di atas. Kemudian extract isinya ke protected/extensions/ .
Nah untuk menggunakannya sangatlah mudah tinggal tambahin kode pada view form anda sebagai berikut ini.
<?php $this->widget('application.extensions.emultiselect.EMultiSelect', array('sortable'=>true/true, 'searchable'=>true/true));?>
dan kemudian tambahkan class multiselect ke dalam dropdwonlist anda
<?php echo $form->dropDownList(new TProjectHasTUnit(),'unit_id_FK',$list, array('multiple'=>'multiple', 'key'=>'unit_id', 'class'=>'multiselect') ); ?>
Note :
Nah untuk yang update kan harus ngeload dulu data yang kita pilih sebelumnya.. Kemudian bagaimana caranya untuk menampilkannya kembali butuh sedikit modifikasi kode agar yang terseleksi terpilih dengan benar waktu perintah update nantinya..
Untuk menggunakan ini ane kasih sample code yang ane pakai
<?php $this->widget('application.extensions.emultiselect.EMultiSelect', array('sortable'=>true/true, 'searchable'=>true/true)); $m=TUnit::model()->findAll(); $list=CHtml::listData($m,'unit_id','name'); if($model->isNewRecord){ echo $form->dropDownList(new TProjectHasTUnit(),'id_unit_kerja_FK',$list, array('multiple'=>'multiple', 'key'=>'unit_id', 'class'=>'multiselect') ); }else{ $selected_scope=TProjectHasTUnit::model()->findAllByAttributes(array('project_id_FK'=>$model->project_id)); $selected_key_scope=array(); foreach ($selected_scope as $val){ $selected_key_scope[]=$val->id_unit_kerja_FK; } echo $form->dropDownList(new TProjectHasTUnit(),'id_unit_kerja_FK',$list, array('multiple'=>'multiple', 'key'=>'unit_id', 'class'=>'multiselect','options'=>$this->createOptions($selected_key_scope)) ); } ?>
Jangan lupa untuk menambahkan fungsi $this->createOptions() di protected/components/Controller.php untuk dapat digunakan ditempat lainnya
public function createOptions($arraySelectedValue){ $selected_attr=array('selected'=>'selected'); $all=array(); foreach($arraySelectedValue as $val){ $all["$val"]=$selected_attr; } return $all; }Sip itu dulu post yiiframework pertama ane.. Maklum buat posting kalo lagi ada yang mau dishare aja..
YII isROck