Простой ресурс в Filament
Давайте соберём простой ресурс. Вместо трёх страниц остаётся одна: таблица записей, а форма всплывает модальным окном. Список постов открывается /admin/posts, создание и правка не уводят на другие адреса.
Флаг --simple у команды
создания ресурса собирает такую
схему. Выполним:
php artisan make:filament-resource Post --simple
Появится страница ManagePosts.php,
наследник ManageRecords.
Она сама подключает действия
создания и правки в модальном
окне поверх таблицы.
В PostResource.php в методе
getPages оставим только
страницу списка на корне ресурса:
<?php
namespace App\Filament\Resources\Posts;
use App\Filament\Resources\Posts\Pages\ManagePosts;
use App\Models\Post;
use Filament\Resources\Resource;
class PostResource extends Resource
{
protected static ?string $model = Post::class;
public static function getPages(): array
{
return [
'index' => ManagePosts::route('/'),
];
}
}
?>
Класс ManagePosts.php связывают
с ресурсом свойством $resource.
Отдельные CreatePost.php
и EditPost.php для такого
варианта не регистрируют:
<?php
namespace App\Filament\Resources\Posts\Pages;
use App\Filament\Resources\Posts\PostResource;
use Filament\Resources\Pages\ManageRecords;
class ManagePosts extends ManageRecords
{
protected static string $resource = PostResource::class;
}
?>
Сделайте ресурс работника, где создание и правка открываются окном поверх списка.