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

Membuat Resource Rating


Kita lanjutkan membuat resource untuk data rating, dimana pada resource ini kita juga cukup menggunakan index page saja.

Langkah 1 - Membuat Resource Rating

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 Rating

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

lua
. +-- RatingResource.php +-- RatingResource | +-- Pages | | +-- CreateRating.php | | +-- EditRating.php | | +-- ListRatings.php

Langkah 2 - Mengubah Icon di Sidebar dan

Pertama, kita akan ubah icon ratings yang ada pada sidebar, silahkan teman-teman buka file app/Filament/Resources/RatingResource.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-sparkles';

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

Langkah 3 - 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/RatingResource.php, kemudian tambahkan kode berikut ini di dalamnya, atau tepatnya dibawah $navigationIcon.

php
protected static ?string $navigationGroup = 'Ratings & Customers'; protected static ?string $navigationLabel = 'Ratings & Reviews'; protected static ?string $pluralLabel = 'Ratings & Reviews'; public static function getNavigationSort(): ?int { return 6; }

Di atas, kita atur menu Ratings & Reviews di dalam sebuah group yang bernama Ratings & Customers dan kita berikan urutan nomor 6. Artinya akan diletakkan di bawah menu Transactions.

Langkah - 4 - Disable Create Data

Sekarang kita akan menamabhkan sebuah method yang mana method ini akan men-disable fitur create data di dalam resource Cart.

Silahkan buka file app/Filament/Resources/RatingResource.php, kemudian tambahkan kode berikut ini di dalamnya.

csharp
public static function canCreate(): bool { return false; }

Kemudian ubah pada bagian kode ini.

php
public static function getPages(): array { return [ 'index' => Pages\ListRatings::route('/'), 'create' => Pages\CreateRating::route('/create'), 'edit' => Pages\EditRating::route('/{record}/edit'), ]; }

Menjadi seperti berikut ini.

php
public static function getPages(): array { return [ 'index' => Pages\ListRatings::route('/'), ]; }

Jadi di atas kita sisakan hanya untuk index page saja. Sekarang jika teman-teman reload project-nya dan klik pada menu Ratings & Reviews, maka hasilnya kurang lebih seperti berikut ini.