Laravel Filament 3 Add widgets to resource pages 学習メモ

目次
Add widgets to resource pages
filament のウィジェットを各画面のヘッダーやフッターに追加する。
参考ドキュメント
https://filamentphp.com/docs/3.x/panels/dashboard#customizing-the-dashboard-page

/App/Filament/Resources/UserResource/Pages/ListUsers.php の編集
<?php
namespace App\Filament\Resources\UserResource\Pages;
use App\Filament\Resources\UserResource;
use App\Filament\Resources\UserResource\Widgets\UserStatsWidget;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
use App\Filament\Widgets\TestWidget;
class ListUsers extends ListRecords
{
protected static string $resource = UserResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
protected function getHeaderWidgets(): array
{
return [
UserStatsWidget::class,
// TestWidget::class,
];
}
protected function getFooterWidgets(): array
{
return [
// TestWidget::class,
];
}
}
/App/Filament/Resources/UserResource/Widgets/UserStatsWidget.php の追加
sail artisan make:filament-widget
UserStatsWidget
Stats overview
UserResouce

<?php
namespace App\Filament\Resources\UserResource\Widgets;
use App\Models\User;
use Filament\Widgets\StatsOverviewWidget as BaseWidget;
use Filament\Widgets\StatsOverviewWidget\Stat;
class UserStatsWidget extends BaseWidget
{
protected function getStats(): array
{
return [
Stat::make('Total Users', User::count()),
Stat::make('Total Admins', User::where('role', User::ROLE_ADMIN)->count()),
Stat::make('Total Editors', User::where('role', User::ROLE_EDITOR)->count()),
];
}
}
-
前の記事
Laravel Filament 3 Global Dashboard Filters 学習メモ 2025.04.25
-
次の記事
EC CUBE 4 サイト運営でおすすめ設定 2025.04.26