Страницы ресурса в Filament
Давайте выясним, из каких страниц ресурса состоит экран. Список открывается по адресу /admin/posts, создание - по адресу /admin/posts/create, правка - по адресу /admin/posts/1/edit. Ресурс не рисует всё одной страницей: список, создание и правка - это три отдельных класса страниц. Filament связывает их с ресурсом и знает, какой класс открыть по каждому URL.
Метод getPages на классе
ресурса возвращает такую связку.
Список живёт на корне ресурса,
создание - на /create,
правка - на /{record}/edit,
где {record} - открытая
запись модели:
<?php
namespace App\Filament\Resources\Posts;
use App\Filament\Resources\Posts\Pages\CreatePost;
use App\Filament\Resources\Posts\Pages\EditPost;
use App\Filament\Resources\Posts\Pages\ListPosts;
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' => ListPosts::route('/'),
'create' => CreatePost::route('/create'),
'edit' => EditPost::route('/{record}/edit'),
];
}
}
?>
Убедитесь, что у ресурса работника есть страница списка, страница создания и страница правки.