Tampilan (view) adalah naskah PHP yang berisi terutama elemen antar muka pengguna. Ia bisa berisi pernyataan PHP, tapi direkomendasikan bahwa pernyataan ini tidak mengubah model data dan harus tetap relatif sederhana. Untuk semangat pemisahan logika dan penyajian, bagian besar logika harus ditempatkan dalam kontroler atau model daripada tampilan.
Tampilan memiliki nama yang dipakai untuk mengidentifikasi file naskah tampilan
saat penyiapan. Nama tampilan sama seperti nama file naskah tampilan.
Sebagai contoh, tampilan edit
merujuk pada file naskah bernama seperti
edit.php
. Untuk menyiapkan tampilan, pangil CController::render() dengan
nama tampilan. Metode akan mencari file tampilan terkait di bawah direktori protected/views/ControllerID
.
Di dalam naskah tampilan, kita dapat mengakses turunan kontroler menggunakan
$this
. Selanjutnya kita bisa menarik
setiap properti kontroler dengan
mengevaluasi $this->propertyName
dalam tampilan.
Kita juga bisa menggunakan pendekatan dorong
berikut guna mengoper data ke tampilan:
$this->render('edit', array(
'var1'=>$value1,
'var2'=>$value2,
));
Dalam contoh di atas, metode render() akan mengurai parameter array
kedua ke dalam variabel. Hasilnya, dalam naskah tampilan kita dapat mengakses
variabel lokal $var1
dan $var2
.
Tata letak adalah tampilan khusus yang dipakai untuk mendekorasi tampilan. Biasanya berisi bagian antar muka pengguna yang umum diantara beberapa tampilan. Sebagai contoh, tata letak mungkin berisi bagian header dan footer serta menyertakan tampilan konten diantarana,
......header di sini...... echo $content; ......footer di sini......
di mana $content
menyimpan hasil pembuatan tampilan konten.
Tata letak secara implisit diterapkan saat memanggil render().
Secara standar, naskah tampilan protected/views/layouts/main.php
dipakai sebagai
tata letak. Ini bisa dikustomisasi dengan mengubah baik CWebApplication::layout
ataupun CController::layout. Sebaliknya, untuk menyiapkan tampilan tanpa menerapkan tata letak apapun,
panggil renderPartial().
Widget adalah turunan dari CWidget atau anak kelasnya. Komponen yang terutama ditujukan guna keperluan penyajian. Widget biasanya disertakan dalam naskah tampilan untuk menghasilkan beberapa antar muka pengguna yang kompleks dan berdiri sendiri. Sebagai contoh, widget kalender bisa dipakai untuk menyiapkan antar muka kalender pengguna yang kompleks. Widget menghidupkan pemakaian kembali yang lebih baik dalam antar muka pengguna.
Untuk menggunakan widget, lakukan seperti berikut dalam naskah tampilan:
$this->beginWidget('path.to.WidgetClass'); ...konten body yang dapat ditangkap oleh widget... $this->endWidget();
atau
$this->widget('path.to.WidgetClass');
Contoh kedua dipakai saat widget tidak memerlukan konten body apapun.
Widget dapat dikonfigurasi untuk mengkustomisasi perilakunya. Ini dilakukan dengan menyetel nilai properti awalnya ketika memanggil CBaseController::beginWidget atau CBaseController::widget. Sebagai contoh, ketika menggunakan widget CMaskedTextField, kita ingin menetapkan pelapisan agar dipakai. Kita dapat melakukannya dengan mengoper array nilai awal properti itu sebagai berikut, di mana kunci array adalah nama properti dan nilai array adalah nilai awal pada properti widget terkait:
$this->widget('CMaskedTextField',array( 'mask'=>'99/99/9999' ));
Untuk mendefinisikan widget baru, perluas CWidget dan timpa metode init() dan run():
class MyWidget extends CWidget
{
public function init()
{
// metode ini dipanggil oleh CController::beginWidget()
}
public function run()
{
// metode ini dipanggil oleh CController::endWidget()
}
}
Seperti halnya kontroler, widget juga bisa memiliki tampilan sendiri. Standarnya, file
tampilan widget ditempatkan di bawah subdirektori views
pada direktori
yang berisi file kelas widget. Tampilan ini disiapkan dengan memanggil
CWidget::render(), mirip dengan pemanggilan kontroler. Perbedaannya
tidak ada tata letak yang akan diterapkan pada tampilan widget.
Tampilan sistem merujuk pada tampilan yang dipakai oleh Yii untuk menampilkan kesalahan dan pencatatan informasi. Sebagai contoh, ketika permintaan pengguna untuk kontroler atau aksi yang tidak ada, Yii akan memunculkan eksepsi yang menjelaskan kesalahan. Yii menampilkan eksepsi menggunakan tampilan sistem tertentu.
Penamaan tampilan sistem mengikuti beberapa aturan. Nama seperti errorXXX
merujuk pada
tampilan untuk menampilkan CHttpException dengan kode kesalahan XXX
. Sebagai contoh, jika CHttpException dimunculkan dengan kode kesalahan 404, tampilan error404
akan diperlihatkan.
Yii menyediakan satu set tampilan sistem standar yang ditempatkan di bawah
framework/views
. Ini bisa dikustomisasi dengan membuat file tampilan yang sama dengan nama yang sama di bawah protected/views/system
.
Signup or Login in order to comment.