Pada tutorial kali ini kita akan mencoba membahas salah satu cara untuk merapikan view pada project Laravel yang kita buat dengan menggunakan Partial View.s Apa itu Partial Views? Partial Views secara sederhana yaitu sebuah view yang mengandung sebagian konten dari halaman utama, atau dengan kata lain kita memisahkan sebagian konten pada view terpisah yang bisa digunakan / dipanggil pada view utama.
Untuk lebih jelasnya, mari kita bahas menggunakan contoh sederhana ini. Misalnya, kita perlu menampilkan daftar user yang ada, pada controller kita akan memiliki kode kurang lebih seperti dibawah ini.
class UserController extends Controller { public function index() { $users = User::all(); return view('users.index', [ 'users' => $users, ]); } }
Kemudian kita akan menampilkan daftar user diatas pada view dengan contoh sederhana seperti kode dibawah ini.
<h1>Users</h1> @foreach ($users as $user) <div class="user"> <h3>{{ $user->username }}</h3> <p>{{ $user->email }}</p> </div> @endforeach
Contoh diatas merupakan contoh sederhana dengan menggunakan hanya beberapa elemen HTML. Jika kita menggunakan elemen HTML yang kompleks, memisahkan konten HTML ini menjadi partial views mungkin bisa menjadi pertimbangan. Hal ini tentu saja akan membuat kode pada view diatas menjadi lebih singkat dan lebih mudah dibaca.
Membuat Partial Views
Untuk merapikan view biasanya hal yang saya lakukan adalah memisahkan beberapa elemen HTML menjadi view tersendiri. Lalu kapan kita harus membuat partial view? Tidak ada ketentuan khusus untuk ini, akan tetapi untuk saya pribadi, saya biasanya membuat partial view dengan 2 alasan:
- Elemen HTML yang kompleks, sehingga kode pada view utama terlalu banyak.
- Reusable: Elemen HTML digunakan kembali pada view yang lain.
Masih menggunakan contoh sebelumnya, kita akan memisahkan elemen HTML untuk menampilkan setiap user pada view terpisah. Pertama, buatlah file view baru dengan nama _user.blade.php
pada folder resources/views/users/partials
. Untuk penamaan file dan penempatan folder silahkan di sesuaikan dengan keinginan, saya pribadi biasanya menyimpan view partial ini di dalam folder partials dan untuk penamaan saya berikan prefix underscore.
<div class="user"> <h3>{{ $user->username }}</h3> <p>{{ $user->email }}</p> </div>
Kemudian, untuk pemanggilan view partial ini kita bisa menggunakan blade directive @include
pada view utama.
<h1>Users</h1> @foreach ($users as $user) @include('users.partials._user') @endforeach
Note: Kita juga bisa menggunakan blade directive @include
di dalam partial views Laravel, dengan kata lain kita bisa menggunakan partial view di dalam partial view.
No Comments
Leave a comment Cancel