Halaman Blog - Menampilkan Artikel
11 Maret 2025
ยท
3 menit ยท

Kita akhirnya sampai pada artikel penghujung dari seri Membuat Aplikasi Blog Sederhana Menggunakan Laravel 12. ๐
Pada artikel sebelumnya, kita telah menampilkan detail artikel dengan cara mengakses artikel menggunakan ID artikel. Namun, cara ini kurang ideal untuk tampilan publik karena URL yang dihasilkan tidak cukup deskriptif.
Mari kita bandingkan kedua cara akses berikut:
Dengan ID Artikel | Dengan Slug Artikel |
---|---|
localhost/articles/32 | localhost/pengalaman-liburan-dengan-keluarga-ke-lombok |
Tentunya, menampilkan artikel menggunakan slug terlihat lebih deskriptif dan nyaman dibaca, kan?
Oleh karena itu, kita akan menampilkan artikel dengan slug.
Menyesuaikan Controller untuk Menampilkan Artikel
Pertama, kita buat method baru bernama blogPost()
pada controller:
๐ app/Http/Controllers/ArticleController.php
|
|
Method ini menerima parameter $slug
dan mengambil artikel yang sudah terbit, berstatus aktif, dan memiliki slug yang sesuai. Artikel yang diperoleh kemudian dikirim ke View.
Membuat Route untuk Menampilkan Artikel
Tambahkan route untuk menangani akses artikel berdasarkan slug:
๐ routes/web.php
|
|
Ketika pengguna mengakses URL seperti /pengalaman-liburan-dengan-keluarga-ke-lombok
, route tersebut akan diarahkan ke method blogPost()
pada ArticleController
.
Penempatan route
/{slug}
setelah route/
tetap aman karena kita hanya memiliki satu dynamic route dan tidak ada konflik.
Menyesuaikan Link pada Daftar Artikel
Sebelumnya saat kita menampilkan daftar artikel, kita masih menggunakan route berbasis ID: route('articles.show', $article)
.
Sekarang, kita ubah menggunakan slug:
๐ resources/views/pages/articles/index.blade.php
|
|
Pada kode di atas, kita menggunakan route bernama blog.post
dan mengirim $article->slug
sebagai parameter.
Hasil Akhir
Dengan konfigurasi ini, pengguna dapat mengakses artikel menggunakan slug yang deskriptif.
Contoh URL yang dihasilkan: http://localhost/et-nihil-exercitationem-dignissimos-nobis-eligendi

Menariknya, kita tetap menggunakan view yang sama seperti sebelumnya (show.blade.php). Perbedaannya hanya terletak pada cara kita mengakses route-nya.
Dengan demikian, kita telah menyelesaikan seluruh tampilan publik untuk aplikasi blog:
โ
Menampilkan daftar artikel
โ
Menampilkan artikel berdasarkan slug
Selamat! Kita berhasil menyelesaikan pembelajaran sejauh ini dengan baik! ๐๐๐ผ