Setelah berhasil menginstall dan konfigurasi Filament di dalam project Laravel kita, maka sekarang kita akan lanjutkan belajar membuat CRUD Resource untuk data categories.
Langkah 1 - Membuat Resource Category
INFORMASI : Dalam pembuatan resource, pastikan menggunakan nama yang sama dengan nama Model.
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 Category
Jika perintah di atas berhasil dijalankan, maka kita akan mendapatkan beberapa file, yang berada di dalam folder app/Filament/Resources.
lua
.
+-- CategoryResource.php
+-- CategoryResource
| +-- Pages
| | +-- CreateCategory.php
| | +-- EditCategory.php
| | +-- ListCategories.php
Sekarang, jika kita reload project-nya, maka kita sudah dibuatkan menu dibagian sidebar dan tentu semua halaman untuk proses CRUD data categories, cuman semua masih blank dan kita nanti akan melakukan konfigurasinya.
Langkah 2 - Mengubah Icon di Sidebar dan
INFORMASI : Filament menggunakan icon dari HeroIcons
Pertama, kita akan ubah icon categories yang ada pada sidebar, silahkan teman-teman buka file app/Filament/Resources/CategoryResource.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-folder';
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/CategoryResource/Pages/CreateCategory.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/CategoryResource/Pages/EditCategory.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/CategoryResource.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 1;
}
Di atas, kita atur menu Categories di dalam sebuah group yang bernama Master Data dan kita berikan urutan nomor 1. Artinya akan diletakkan di bawah menu Dashboard.
