Membuat Portolet Menu User ========================== Berdasarkan pada analisis kebutuhan, kita memerlukan tiga portlet berbeda: portlet "menu user", portlet "tag cloud" dan portlet "comment terbaru". Kita akan membuat ketiga portlet ini dengan menurunkan widget [CPortlet] yang disediakan Yii. Dalam seksi ini, kita akan membuat portlet konkrit pertama - portlet menu user yang akan menampilkan daftar item menu yang hanya ada pada user yang sudah diotentikasi. Menu tersebut terdiri atas empat item. * Menyetujui Comment: sebuah hyperlink yang menuju ke daftar comment yang statusnya masih menunggu persetujuan. * Membuat Post Baru : sebuah hyperlink yang menuju ke halaman pembuatan post * Menangani Post : sebuah hyperlink yang menuju halaman manajemen post * Logout : sebuah tombol link yang akan me-logout-kan user saat ini. Pembuatan Kelas `UserMenu` ------------------------- Kita membuat kelas `UserMenu` untuk mewakili bagian logis dari portlet menu user. Kelas ini disimpan di file `/wwwroot/blog/protected/components/UserMenu.php` yang isinya sebagai berikut: ~~~ [php] Yii::import('zii.widgets.CPortlet'); class UserMenu extends CPortlet { public function init() { $this->title=CHtml::encode(Yii::app()->user->name); parent::init(); } protected function renderContent() { $this->render('userMenu'); } } ~~~ Kelas `UserMenu` diturunkan dari kelas `CPortlet` dari pustaka `zii`. Kelas ini mengoveride method `init()` dan method `renderContent()` dari CPortlet. Method `init()` mengeset judul dari portlet sesuai nama user saat ini; sedangkan method `renderContent()` men-generate isi dengan me-render sebuah view bernama `userMenu`. > Tip|Tips : Perhatikan bahwa kita sudah meng-include kelas `CPortlet` secara eksplisit dengan memanggil `Yii::import()` sebelum merujuk padanya untuk pertama kali. Ini dikarenakan `CPortlet` merupakan bagian dari projek `zi` -- pustaka extension resmi untuk Yii. Untuk pertimbangan kinerja, kelas-kelas dalam projek ini bukan bagian dari kelas inti. Oleh karenanya, kita harus meng-import-kannya sebelum untuk pertama kalinya digunakan. Membuat View `userMenu` ------------------------ Selanjutnya, kita membuat view `userMenu` yang disimpan di dalam file `/wwwroot/blog/protected/components/views/userMenu.php`: ~~~ [php]