Yii2 - Memanfaatkan extension Yii2 Comments sebagai media user memberikan komentar

Bagaimana cara membuat kolom komentar pada satu halaman pada proyek Yii2 menggunakan ekstension dengan sangat mudah
Review di Yii2, 2 years ago

Membuat website, web application, blog terkadang membutuhkan fitur kolom komentar. Sekarang tinggal Kita mau buat dari scratch atau menggunakan library atau ekstension yang ada. Kalau membuat dari scratch sebenarnya simple, pseudo-code yang saya gunakan adalah dengan asumsi menggunakan Yii2 (template basic) dan RDBMS,

  1. Buat sebuah table, dimana interpretasi table ini akan membentuk sebuah tree,
  2. Konsep tree yang saya pakai adalah Adjacency List ,
  3. Satu komentar bisa memiliki child komentar lainnya,
  4. Relasikan dengan table lain dengan konsep one to many, contohnya satu postingan bisa memiliki banyak komentar.

Nah, jika ingin menggunakan Yii2 ekstension saya menyarankan gunakan lah yang ini: Yii2 Comments . Nah berikut saya akan sharing langkah-langkahnya:

=> Instalasi via composer

composer require --prefer-dist yii2mod/yii2-comments "*" 




=> Lakukan migrations,

Saya biasanya kalau ada yang ekstension atau module yang melakukan migration, saya copy langsung dari vendor nya ke folder migration bawaan Yii2. Kenapa, pas saat di production kita menghindari ketelodoran lupa melakukan migration. Jadi alih-alih

php yii migrate --migrationPath=@vendor/yii2mod/yii2-comments/migrations

mending seperti ini

~ cp app/vendor/yii2mod/yii2-comments/migrations app/migrations 
~ php yii migrate



=> Konfigurasi Yii2 project,

edit config/web.php, tambahkan pada setup module berikut:




=> Testing

Nah, di view yang akan kita gunakan, dalam kasus saya, saat sebuah post artikel (anggap ini adalah $model) di tampilkan, kita hanya menambahkan baris kode berikut :



Kalau diperhatikan, commentView adalah buatan kita sendiri, karena commentView bawaanya memakai Bootstrap 3, jadi jika anda tidak menggunakannya, dalam kasus saya saya menggunakan bootstrap 4, saya rewrite ulang view nya menjadi :




=> Hasil yang didapatkan

Dengan asumsi, user jika ingin memberikan komentar harus login terlebih dahulu, nah kita berarti harus menyediakan fitur sign up terlebih dahulu. Dan beginilah penampakannya:


Demikian.

Dukung Saya supaya tetap menulis artikel-artikel yang baik, membayar sewa domain, dan server untuk blog ini. Caranya dengan donasi cendol via Trakteer.id.


No image

Fadly Dzil Jalal

PHP, Yii2 Framework, Laravel, Java, Java Swing, Hibernate, Javascript, Angular, React, MySQL, MongoDB


Dapatkan USD 200 untuk develop aplikasimu di DigitalOcean DigitalOcean Referral Badge