My Course — Membangun Website Food Store Dengan Laravel Filament, Livewire dan Payment Gateway

Membuat Resource Product


Setelah berhasil membuat Resource untuk data categories, maka sekarang kita lanjutkan untuk data products.

Langkah 1 - Membuat Resource Product

Silahkan teman-teman jalankan perintah berikut ini di dalam terminal/CMD dan pastikan berada di dalam project Laravel-nya.

go
php artisan make:filament-resource Product

Jika perintah di atas berhasil dijalankan, maka kita akan mendapatkan beberapa file, yang berada di dalam folder app/Filament/Resources.

lua
. +-- ProductResource.php +-- ProductResource | +-- Pages | | +-- CreateProduct.php | | +-- EditProduct.php | | +-- ListProducts.php

Langkah 2 - Mengubah Icon di Sidebar dan

Pertama, kita akan ubah icon products yang ada pada sidebar, silahkan teman-teman buka file app/Filament/Resources/ProductResource.php, kemudian cari kode berikut ini.

php
protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';

Dan ubahlah menjadi seperti berikut ini.

php
protected static ?string $navigationIcon = 'heroicon-o-shopping-bag';

Sekarang, silahkan teman-teman reload project-nya, maka icon di sidebar akan berubah.

Langkah 3 - Mengubah Redirect URL

Secara default, saat kita melakukan proses create dan edit, maka Laravel Filament akan melakukan redirect ke halaman edit data. Disini kita akan ubah agar diredirect ke halaman index.

Pertama, kita akan menambahkan untuk halaman create. Silahkan teman-teman buka file app/Filament/Resources/ProductResource/Pages/CreateProduct.php, kemudian tambahkan method ini di dalamnya.

php
protected function getRedirectUrl(): string { return $this->getResource()::getUrl('index'); }

Kedua, kita akan menambahkan untuk halaman edit. Silahkan teman-teman buka file app/Filament/Resources/ProductResource/Pages/CreateProduct.php, kemudian tambahkan method ini di dalamnya.

php
protected function getRedirectUrl(): string { return $this->getResource()::getUrl('index'); }

Dari penambahan method di atas, kita atur agar saat setelah proses create dan edit akan diarahkan ke halaman index.

Langkah 4 - Mengatur Urutan dan Grouping Menu

Disini kita akan mengatur grouping menu pada bagian sidebar dan juga mengatur urutan dari menu agar sesuai dengan yang kita inginkan.

Silahkan buka file app/Filament/Resources/ProductResource.php, kemudian tambahkan kode berikut ini di dalamnya, atau tepatnya dibawah $navigationIcon.

csharp
protected static ?string $navigationGroup = 'Master Data'; public static function getNavigationSort(): ?int { return 2; }

Di atas, kita atur menu products di dalam sebuah group yang bernama Master Data dan kita berikan urutan nomor 2. Artinya akan diletakkan di bawah menu Categories.