Berita

Mengubah form untuk Input Koleksi Buku pakai kelas CActiveForm

11 tahun yang lalu

(oleh: Badiyanto)

Form masukan secara otomatis terbentuk pada saat menggunakan CRUD genereator. Dalam kasus ini model/kelas TblBuku akan menempatkan modul input/ouput yang diletakkan  dalam forder protected/views/tblBuku/...  untuk itu buka dan ubah file _form.php seperti pada kode berikut :

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'tbl-buku-form',
    'enableAjaxValidation'=>false,
)); ?>
    <p class="note">Fields with <span class="required">*</span> are required.</p>

    <?php echo $form->errorSummary($model); ?>

    <div class="row">
        <?php echo $form->labelEx($model,'judul_buku'); ?>
        <?php echo $form->textField($model,'judul_buku',array('size'=>60,'maxlength'=>100)); ?>
        <?php echo $form->error($model,'judul_buku'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model,'pengarang_id'); ?>
       
        <?php echo $form->dropDownList($model,'pengarang_id',CHtml::listData(
                TblPengarang::model()->findAll(), 'id','nama_pengarang'),
                array('prompt'=>'= Pilihan =','style'=>'width:200px;')); ?>
        <?php echo $form->error($model,'pengarang_id'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model,'penerbit_id'); ?> 
        <?php echo $form->dropDownList($model,'penerbit_id',
                   CHtml::listData(TblPenerbit::model()->findAll(), 'id','nama_penerbit'),
              array('prompt'=>'= Pilihan =','style'=>'width:200px;')); ?>
        <?php echo $form->error($model,'penerbit_id'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model,'isbn_issn'); ?>
        <?php echo $form->textField($model,'isbn_issn',array('size'=>30,'maxlength'=>30)); ?>
        <?php echo $form->error($model,'isbn_issn'); ?>
    </div>

    <div class="row buttons">
        <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
    </div>

<?php $this->endWidget(); ?>

</div><!-- form -->

 

Perintah :
<?php echo $form->dropDownList($model,'penerbit_id',
          CHtml::listData(TblPenerbit::model()->findAll(), 'id','nama_penerbit'),
         array('prompt'=>'= Pilihan =','style'=>'width:200px;')); ?>

adalah menyajikan input dengan ComboBox/dropDownList  dengan isi pilihan nama pengarang mengambil dari model
TblPenerbit::model()->findAll(), 'id','nama_penerbit'

Kemudian bagain create.php

<?php
/* @var $this TblBukuController */
/* @var $model TblBuku */

$this->breadcrumbs=array(
    'Tbl Bukus'=>array('index'),
    'Create',
);

$this->menu=array(
    array('label'=>'List Buku', 'url'=>array('index')),
    array('label'=>'Manajemen Buku', 'url'=>array('admin')),
);
?>

<h1>Input Koleksi Buku</h1>
<?php echo $this->renderPartial('_form', array('model'=>$model)); ?>

penjelasan:

Tanpilan view craete.php ditambahkan form input koleksi buku dengan perintah :


<?php echo $this->renderPartial('_form', array('model'=>$model)); ?>


array('model'=>$model) : memangil _form.php dengan menyertakan variabel $model;


Hubungannya dengan TblBukuController.php

public function actionCreate()
    {
        $model=new TblBuku;

        // Uncomment the following line if AJAX validation is needed
        // $this->performAjaxValidation($model);

        if(isset($_POST['TblBuku']))
        {
            $model->attributes=$_POST['TblBuku'];
            if($model->save())
                $this->redirect(array('view','id'=>$model->id));
        }

        $this->render('create',array(
            'model'=>$model,
        ));
    }



Berita Lainnya

Pengumuman Seleksi Calon Rektor UTDI Periode 2023-2028
Pengumuman Seleksi Calon Rektor UTDI Periode 2023-2028

satu tahun yang lalu

File dapat diunduh melalui  Seleksi Calon Rektor UTDI 2023-2028

Selengkapnya
114 Mahasiswa UTDI Diwisuda, Rektor Imbau Tingkatkan Skill
114 Mahasiswa UTDI Diwisuda, Rektor Imbau Tingkatkan Skill

satu tahun yang lalu

Sebanyak 114 mahasiswa Universitas Teknologi Digital Indonesia (UTDI) diwisuda. Seluruhnya adalah mahasiswa sarjana dan pasca sarjana. Prosesi wisuda ini berlangsung secara ...

Selengkapnya
Prodi Informatika UTDI Terima Hibah PKKM
Prodi Informatika UTDI Terima Hibah PKKM

satu tahun yang lalu

JOGJA – Program Studi Informatika Universitas Teknologi Digital Indonesia (UTDI) berhasil menerima dana hibah Program Kompetisi Kampus Merdeka (PKKM), hibah ini ...

Selengkapnya