Страница просмотра в Filament
Давайте откроем страницу просмотра. Она показывает одну запись по схеме infolist, без полей правки. Адрес такой страницы /admin/posts/1.
Класс страницы наследует
ViewRecord и указывает
ресурс постов:
<?php
namespace App\Filament\Resources\Posts\Pages;
use App\Filament\Resources\Posts\PostResource;
use Filament\Resources\Pages\ViewRecord;
class ViewPost extends ViewRecord
{
protected static string $resource = PostResource::class;
}
?>
В PostResource.php метод
getPages свяжет маршруты
со страницами ресурса:
<?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\Filament\Resources\Posts\Pages\ViewPost;
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'),
'view' => ViewPost::route('/{record}'),
'edit' => EditPost::route('/{record}/edit'),
];
}
}
?>
Метод infolist на ресурсе
отдаёт настройку карточки
классу PostInfolist.php:
<?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\Filament\Resources\Posts\Pages\ViewPost;
use App\Filament\Resources\Posts\Schemas\PostInfolist;
use App\Models\Post;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
class PostResource extends Resource
{
protected static ?string $model = Post::class;
public static function getPages(): array
{
return [
'index' => ListPosts::route('/'),
'create' => CreatePost::route('/create'),
'view' => ViewPost::route('/{record}'),
'edit' => EditPost::route('/{record}/edit'),
];
}
public static function infolist(Schema $schema): Schema
{
return PostInfolist::configure($schema);
}
}
?>
Сделайте страницу, на которой карточка работника открывается без формы правки.