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

Провайдер аватаров в Filament

Давайте подключим провайдер аватаров. Когда getFilamentAvatarUrl не отдаёт файл, шапка /admin/profile может взять картинку из инициалов имени.

Класс InitialsProvider.php реализует контракт AvatarProvider. Метод get принимает запись работника и возвращает URL службы с буквами из его имени.

Создадим провайдер с адресом ui-avatars:

<?php namespace App\Filament\AvatarProviders; use Filament\AvatarProviders\Contracts\AvatarProvider; use Filament\Facades\Filament; use Illuminate\Contracts\Auth\Authenticatable; use Illuminate\Database\Eloquent\Model; class InitialsProvider implements AvatarProvider { public function get(Model | Authenticatable $record): string { $name = Filament::getNameForDefaultAvatar($record); return 'https://ui-avatars.com/api/?name=' . urlencode($name); } } ?>

Откроем AdminPanelProvider.php и зададим провайдер по умолчанию рядом с входом и адресом:

<?php namespace App\Providers\Filament; use App\Filament\AvatarProviders\InitialsProvider; use Filament\Panel; use Filament\PanelProvider; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel ->default() ->id('admin') ->path('admin') ->login() ->defaultAvatarProvider(InitialsProvider::class); } } ?>

Покажите в шапке картинку из инициалов, если своего файла нет.

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