Sunday 11 August 2013

Membuat Link Download Pada CgridView YII Framework

Standard
Dalam yii framework apa saja dapat di buat karena framework yang satu ini sudah support website 2.0 atau yang sering di sebut website pintar seperti google, facebook, dll. Salah satu hal yang penting dan sering di tanyakan oleh orang yang baru belajar pemrograman web yaitu bagaimana cara membuat link download seperti ilustrasi berikut ini:


Posting ini akan membahas bagaimana membuat link download (Unduh) pada cgridview. Bagaimana cara membuatnya? Mari kita bahas.
Apabila kita generate tabel menggunakan GII biasanya kita dapat menjumpai cgridview pada app/protected/view/admin.php seperti contoh script berikut ini:

<?php widget('bootstrap.widgets.TbGridView',array(
 'dataProvider'=>$model->search(),
 'filter'=>$model,
 'columns'=>array(
  'id_dosen',  
  'nama',  
  'profil',  
  'file'
  array(
   'class'=>'bootstrap.widgets.TbButtonColumn',
  ),
 ),

)); ?>
Secara default isi cgridview apabila menggunakan extension bootstrap adalah seperti script di atas. Apabila kita ingin menambahkan link download  pada cgridview tersebut maka kita ubah script menjadi seperti berikut ini:

<?php widget('bootstrap.widgets.TbGridView',array( 
 'id'=>'nondosen-grid', 
 'dataProvider'=>$model->search(), 
 'filter'=>$model, 
 'columns'=>array(  
  'id_dosen',  
  'nama',  
  'profil',  
  array(      
   'class'=>'CLinkColumn',      
   'header'=>'File',      
   'urlExpression'=>'Yii::app()->request->baseUrl."/files/".$data->file',      
   'label'=>'Unduh',  
  ),  
  array(   
  'class'=>'bootstrap.widgets.TbButtonColumn',  
  ), 
 ),
)); ?>
Perhatikan bagian script yang di cetak tebal. Apabila kita ingin menambahkan link download yaitu harus menambahkan 'urlExpression' dengan tujuan file yaitu letak direktori file paling luar (Yii::app()->request->baseUrl) di tambah nama file tersebut ($data->file) kemudian nama link tersebut kita pasang tulisan unduh seperti gambar berikut ini:
Cukup mudah bukan. Selamat Mencoba

Monday 5 August 2013

Page Caching Pada YII Framework

Standard
Sumber Gambar: http://microsoft.com
Dalam laman resmi yii di http://yiiframework.com memberikan review tentang page caching. Sebenarnya apa itu page caching dan apakah fungsinya? Berikut gambaran tentang page caching atau penembolokan halaman.
Penembolokan halaman merujuk pada caching isi seluruh halaman. Penembolokan halaman bisa terjadi di berbagai tempat. Misalnya, dengan memilih tajuk halaman(page header) yang sesuai, penjelajah klien(client browser) mungkin menembolok halaman yang sedang dilihat untuk jangka waktu tertentu. Aplikasi Web sendiri juga dapat menyimpan isi halaman dalam cache. Dalam subbab ini, fokus kita pada pendekatan ini.
Penembolokan halaman bisa dipertimbangkan sebagai kasus khusus caching fragmen. Karena isi halaman sering dihasilkan dari dari penerapan tata letak(layout) pada sebuah tampilan, caching halaman tidak akan berfungsi jika kita hanya memanggil beginCache() dan endCache() dalam tata letak. Alasannya dikarenakan tata letak diterapkan dalam metode CController::render() SETELAH tampilan konten dievaluasi.
Untuk menembolok seluruh halaman, kita harus melewatkan eksekusi aksi penghasil isi halaman. Kita bisa menggunakan COutputCache sebagai aksi filter untuk menyelesaikan tugas ini. Kode berikut akan memperlihatkan bagaimana kita mengkonfigurasi filter cache:

public function filters(){
    return array(
        array(
            'COutputCache',
            'duration'=>100,
            'varyByParam'=>array('id'),
        ),
    );
}
Konfigurasi filter di atas akan menjadikan filter diterapkan ke semua aksi dalam controller. Kita dapat membatasinya ke satu atau beberapa aksi hanya dengan menggunakan operator plus. Lebih jelasnya bisa ditemukan dalam filter.
Tip: Kita dapat menggunakan COutputCache sebagai filter karena kelas tersebut diturunkan dari CFilterWidget, yang artinya COutputCache dapat berupa widget dan juga filter. Sebenarnya, cara kerja widget mirip dengan filter: widget (filter) dimulai sebelum isi yang dilampirkan (aksi) dievaluasi, dan widget (filter) berakhir setelah isi yang dilampirkan (aksi) dievaluasi.
Kesimpulan:
Yii punya beberapa level cache, dari db cache, fragment cache sampe full cache.
Jika anda punya halaman index (actionIndex) di controller tertentu yang contentnya dinamis (diambil dari database) tapi tidak sering2 diupdate, gunakan full page cache di controller-nya (Peter Jack Kambey, 2013)

Sunday 2 June 2013

YII FRAMEWORK 15 WEBSITE INDONESIA BERBASIS YII

Standard
Mungkin banyak orang awam beranggapan penggunaan Yii Framework masih sulit di gunakan karena documentnya belum lengkap dan masih terbatas. Dari situlah banyak orang awam pesimis bagaimana cara membuat website yii yang berkualitas. Disini saya akan memberikan contoh beberapa website yii framework buatan anak bangsa yang sudah berkualitas.

1. Website Dikti (DEMO)
Website milik pemerintah di bidang beasiswa pendidikan untuk jenjang sekolah menenganh menuju bangku kuliah ini sudah berbasis yii Framework.

Copyright © AIMAGU. Jasa Pembuatan Website. All Rights Reserved
Design by Automattic | Blogger Theme by NewBloggerThemes | Official: www.aimagu.com