РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppflSpRsPW 8 of 250 menu
◀ ▶

Виджет на странице ресурса в Filament

Давайте поставим виджет на странице ресурса. Над таблицей постов удобно видеть короткую цифру или итог, не листая строки. Список по-прежнему открывается /admin/posts, виджет рисуется в шапке этой страницы.

На классе страницы списка переопределяют метод getHeaderWidgets и возвращают класс виджета сводки:

<?php namespace App\Filament\Resources\Posts\Pages; use App\Filament\Resources\Posts\PostResource; use App\Filament\Resources\Posts\Widgets\PostsOverview; use Filament\Resources\Pages\ListRecords; class ListPosts extends ListRecords { protected static string $resource = PostResource::class; protected function getHeaderWidgets(): array { return [ PostsOverview::class, ]; } } ?>

Сам виджет наследует StatsOverviewWidget. В методе getStats зададим одну карточку с подписью и числом:

<?php namespace App\Filament\Resources\Posts\Widgets; use Filament\Widgets\StatsOverviewWidget; use Filament\Widgets\StatsOverviewWidget\Stat; class PostsOverview extends StatsOverviewWidget { protected function getStats(): array { return [ Stat::make('Posts', 12), ]; } } ?>

Число в примере статичное; в рабочем коде его возьмут из запроса к модели поста. Виджет обновится при каждой загрузке страницы списка.

Покажите над списком работников короткую сводку с числом.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить