[ASK] Menambahkan form di index dengan view,model,cntroler yg berbeda

Permisi Agan Master Yii…

Ane masi newbie nih,

Ane kan punya view user, model user, & controler user.

Nah, utk view user ane cantumin form create user baru.

Yg mau ane tanyain, Gimana caranya form create user baru itu ada juga di halaman index (localhost/MyProjectYii/)

Mohon bantuanya ya gan, Trims. :)

Ini maksudnya manggil view dari view bukan ? Coba pake partialRender gan. Jadi misalnya dari view index mau manggil form view user, maka dari view index tinggal ditambahkan kode(dimisalkan mau menampilkan _form.php dari views/user/_form.php),




$this->renderPartial('../user/_form',array(

     'model'=...... ,

));



Untuk model disesuaikan gan, karena view index dirender dari SiteController mengirim model yg mungkin berbeda dari yg dibutuhkan di _form user. Penyesuaian lainnya adalah menentukan action untuk _form supaya dapat memanggil action create dari UserController.

Yg pernah ane coba sih cuma untuk menampilakan data dari view lain gan, yg form belum ane coba. Jadi silahkan para master untuk membantu menambahkan atau memperbaiki.

ane setuju sama master yang di atas ^_^

  1. misal : ide kan pengen muncul form di halaman index (mirip facebook gitu bisa daftar di halaman utama :D)

  2. di view/site/index.php tambahin renderPartial seperti yang dijelasin sama master di atas




$this->renderPartial('view/user/_form',array('model'=>$model,));



  1. di MyProjectYii/protected/controllers/siteController pada actionIndex tinggal di tabahin dikit



if (isset($_POST['contohnamaform'])){

$model = new namaModel();

$model->attributes;

if ($model->validates()){

if $model->save()

$this->redirect(array('view',id=>$model->id))

}

}



gitu mungkin kali ya… :)

ma’af saya masih newbie . CMIIW ^_^

Ya gan, ane lg bikin project forum mirip facebook gtu… :)

Ane uda sesuaiin site controler dan view index nya, seperti petunjuk agan master putrilangit & ronyaja ;)

Tp kq ane nemu error ya…

di view/site/index.php


....

$this->renderPartial('../user/_form',array('model'=>$model2,));

....

di siteControler.php




public function actionIndex()

	{

		if (isset($_POST['formUser'])){

                $model2 = new User();

                $model2->attributes;

                if ($model2->validates()){

                    if ($model2->save())

                $this->redirect(array('view',id=>$model2->id));

                 }

                }

......



saat running

Fatal error: Call to a member function getErrors() on a non-object in C:\xampp\htdocs\MyProjectYii\yii\framework\web\helpers\CHtml.php on line 1592

Knp yaa ?? ???

Coba lihat viewnya periksa variable model yang dimasukkan ke CHtml#errorSummary().

Tambahan,




$model2->attributes;



seharusnya jadi:




$model2->attributes = $_POST['formUser'];

// atau

$model2->setAttributes($_POST['formUser']);



betul kata master di atas ane , itu mungkin salah kasih model validasinya

ma’af ane yg salah, maklum waktu jawab uda malem :D

yang ini


$model->attributes;



seharusnya jadi gini


$model->attributes=$_POST['NamaFormnya'];

atau klo pengen satu persatu jadi kyk gini


$model->Attributke1=$_POST['input2'];

$model->Attributke2=$_POST['input3'];

$model->Attributke3=$_POST['input4'];

$model->Attributke4=$_POST['input5'];

$model->Attributke5=$_POST['input6'];

NB : Model yang dikirim / di cek harus sesuai .