Membuat Blog dengan Laravel 5.7 dan AdminLTE 3 (15) – Manage Kategori

WordPress-Like Blog Laravel 5.7 and AdminLTE 3 (15) – Manage Kategori

Pada bagian kelima belas ini, kita akan :

  1. Menambah Menu Kategori
  2. Menampilkan Kategori
  3. Menambah Kategori
  4. Mengedit Kategori
  5. Menghapus Kategori

Menambah Menu Kategori

Untuk menambahkan menu kategori di sidebar, modifikasi sidebar.blade.php yang berada di dalam folder resources/views/layouts/backend.

Karena routenya belum ada, kita tambahkan dulu di routes/web.php :

Menampilkan Kategori

Buat CategoryController dari terminal :

Ubah parent class ke BackendController

Tambahkan kode berikut di index() method :

Buka folder resources/views/backend, tambahkan folder baru ‘category’. Tambahkan index.blade.php di dalam kategori ini.

Di dalam resources/views/backend, buat folder lain, ‘partials’, untuk menyimpan file yang digunakan oler seluruh view sehingga kita tidak harus membuatnya lagi berulang-ulang.

Tambahkan table.blade.php di dalam folder kategori :

Buka halaman category index :

Membuat Blog dengan Laravel 5.7 dan AdminLTE 3 (15) – Manage Kategori

Menambah Kategori

Tambahkan method create() di CategoryController.php

Tambahkan create.blade.php di dalam folder resources/views/backend/category :

Tambahkan form.blade.php di folder yang sama :

Tambahkan juga script.blade.php :

Selanjutnya, kita perlu mengubah store() method di dalam CategoryController.php,kita buat request terlebih dahulu, CategoryStoreRequest dan CategoryUpdateRequest :

Store method di CategoryController :

Jangan lupa untuk menambahkan namespace:

Tambahkan property fillable dan table di App\Category model :

Sekarang kita dapat menambah kategori :

Membuat Blog dengan Laravel 5.7 dan AdminLTE 3 (15) – Manage Kategori 2

Tambahkan kategori baru, ‘Uncategorized’. Kategori ini akan berguna nanti ketika kita menghapus kategori lain.

Mengedit Kategori

Untuk mengubah category, modifikasi edit() method di dalam CategoryController :

Modifikasi CategoryUpdateRequest :

Tambahkan beberapa modifikasi ke update() method di dalam CategoryController :

Tambahkan edit.blade.php di dalam folder backend/category :

Sekarang kita bisa mengedit kategori :

Membuat Blog dengan Laravel 5.7 dan AdminLTE 3 (15) – Manage Kategori 3

Menghapus Kategori

Untuk menghapus sebuah kategori, modifikasi destroy() method di dalam CategoryController :

Namun kita tidak bisa menghapus kategori ini sekarang. Itulah sebabnya kita tadi menambahkan kategori ‘Uncategorized’. Kategori ini merupakan default, sehingga apabila ada post yang kategorinya dihapus, otomatis kategori dari post tersebut akan menjadi uncategorized.

Kita perlu memprotect kategori uncategorized ini dari sisi server dan sisi client, sehingga tidak bisa dihapus.

Di tabel category saya, uncategorized memiliki id ‘7’. Buka config/cms.php

Lalu buat request baru CategoryDestroyRequest

Kita telah melakukan setting dari sisi server. Selanjutnya untuk sisi client, kita akan membuat tombol disabled untuk kategori ini. Buka table.blade.php di dalam folder category dan modifikasi bagian ini:

Membuat Blog dengan Laravel 5.7 dan AdminLTE 3 (15) – Manage Kategori 4

Modifikasi destroy method di dalam CategoryController :

Dan tambahkan Post model namespace:

Github commit.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.