Gii merupakan generator kode berbasis web pada framework Yii2 yang mempercepat pengembangan. Artikel ini memberikan panduan teknis terkini untuk mengimplementasikan sistem CRUD dalam satu halaman menggunakan ekstensi AjaxCrud, solusi ideal bagi aplikasi yang membutuhkan interaktivitas tinggi.
Gii Yii2 adalah alat bantu pengembangan yang esensial. Secara bawaan, Gii menyediakan generator untuk model, form, controller, dan operasi CRUD konvensional. Namun, template default Gii menjalankan setiap aksi CRUD di halaman terpisah. Bagi pengembang modern yang mengutamakan pengalaman pengguna, implementasi CRUD dalam satu halaman dengan Ajax menjadi solusi.
Untuk kebutuhan tersebut, ekstensi yii2-ajaxcrud dari Johnitvn hadir sebagai jawaban. Ekstensi ini memungkinkan seluruh operasi—tambah, lihat, edit, hapus—berjalan dalam modal dialog pada satu view tanpa reload halaman. Berikut adalah langkah-langkah implementasinya yang telah diperbarui.
Langkah Implementasi CRUD Satu Halaman di Yii2
Pastikan lingkungan pengembangan Yii2 (advanced atau basic) telah aktif. Selanjutnya, ikuti prosedur teknis berikut dengan seksama.
1. Instalasi Ekstensi AjaxCrud
Instal ekstensi melalui Composer. Jalankan perintah berikut pada terminal di direktori proyek Anda:
composer require johnitvn/yii2-ajaxcrud "~2.0"2. Penanganan Aset Ikon (Font Awesome)
Ekstensi memerlukan Font Awesome. Anda dapat menggunakan paket yii2-icons dari Kartik. Tambahkan baris berikut ke file composer.json Anda:
"kartik-v/yii2-icons": "*"Kemudian jalankan composer update. Alternatif lain adalah menyertakan Font Awesome via CDN di layout utama proyek Anda.
3. Verifikasi Menu di Gii
Akses Gii melalui browser (contoh: http://localhost/proyek/web/index.php?r=gii). Jika instalasi sukses, akan muncul opsi baru bernama “Ajax CRUD Generator”.

4. Pembuatan Model dari Tabel
Buat model kelas menggunakan Model Generator standar. Misalnya, buat model Country dari tabel country yang ada di database.

5. Generate CRUD dengan Ajax CRUD Generator
Pilih menu “Ajax CRUD Generator”. Isi form dengan Model Class (contoh: app\models\Country) dan Controller Class (contoh: app\controllers\CountryController). Kemudian, lakukan preview dan generate.

6. Uji Coba Awal dan Identifikasi Masalah
Akses controller yang telah dibuat (contoh: http://localhost/proyek/web/index.php?r=country). Grid data akan muncul, tetapi tombol aksi mungkin belum berfungsi optimal karena aset ikon.
7. Registrasi Asset Font Awesome
Edit file view index yang di-generate (biasanya di views/country/index.php). Tambahkan kode berikut di bagian atas setelah use statements:
use kartik\icons\FontAwesomeAsset;
FontAwesomeAsset::register($this);8. Verifikasi Hasil Akhir
Muat ulang halaman CRUD. Sekarang, fitur Create, Update, View, dan Delete akan muncul dalam modal dialog Ajax. Proses ini berlangsung cepat tanpa meninggalkan halaman utama, memberikan pengalaman pengguna yang lebih lancar.

Kesimpulan dan Rekomendasi Pengembangan
Kombinasi Gii Yii2 dan ekstensi AjaxCrud menghasilkan solusi pengembangan yang sangat efisien. Implementasi CRUD dalam satu halaman ini cocok untuk dashboard admin dan aplikasi yang memerlukan interaksi real-time. Selalu merujuk ke dokumentasi resmi ekstensi untuk konfigurasi lebih lanjut. Selain itu, pastikan untuk melakukan pengujian menyeluruh di lingkungan staging sebelum deploy ke produksi.
Dengan mengikuti panduan ini, pengembang dapat membuat antarmuka manajemen data yang responsif dan modern. Pendekatan ini memanfaatkan sepenuhnya kecepatan Gii dan kelincahan teknologi Ajax untuk pengalaman pengguna yang unggul.


