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,
- Buat sebuah table, dimana interpretasi table ini akan membentuk sebuah tree,
- Konsep tree yang saya pakai adalah Adjacency List ,
- Satu komentar bisa memiliki child komentar lainnya,
- 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.
Komentar: 0
Login untuk meninggalkan komentar