Sekarang kita akan belajar membuat sebuah resource yang nanti digunakan untuk CRUD data sliders.
Langkah 1 - Membuat Resource Slider
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 Slider
Jika perintah di atas berhasil dijalankan, maka kita akan mendapatkan beberapa file, yang berada di dalam folder app/Filament/Resources.
lua
.
+-- SliderResource.php
+-- SliderResource
| +-- Pages
| | +-- CreateSlider.php
| | +-- EditSlider.php
| | +-- ListSliders.php
Langkah 2 - Mengubah Icon di Sidebar dan
Pertama, kita akan ubah icon sliders yang ada pada sidebar, silahkan teman-teman buka file app/Filament/Resources/SliderResource.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-photo';
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/CreateSlider.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/CreateSlider.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/SliderResource.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 3;
}
Di atas, kita atur menu sliders di dalam sebuah group yang bernama Master Data dan kita berikan urutan nomor 3. Artinya akan diletakkan di bawah menu Products.