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-widgetUserStatsWidget
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