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

Подпись регистрации в Filament

Давайте зададим подпись регистрации. Без настройки меню повторяет имя модели. Активные откроются /admin/posts/active с понятной подписью.

На цепочке make вызовем navigationLabel. Дополнительно на ресурсе переопределим getNavigationLabel и прочитаем настройку через getConfiguration:

<?php namespace App\Providers\Filament; use App\Filament\Resources\Posts\PostResource; use Filament\Panel; use Filament\PanelProvider; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel ->default() ->id('admin') ->path('admin') ->login() ->resources([ PostResource::make('active') ->navigationLabel('Active'), PostResource::make('archived') ->archived() ->navigationLabel('Archive'), ]); } } ?>

В PostResource.php метод getNavigationLabel вернёт строку из настройки, если она задана:

<?php namespace App\Filament\Resources\Posts; use App\Models\Post; use Filament\Resources\Resource; use Illuminate\Database\Eloquent\Builder; class PostResource extends Resource { protected static ?string $model = Post::class; protected static ?string $configurationClass = PostResourceConfiguration::class; public static function getNavigationLabel(): string { return static::getConfiguration()->getNavigationLabel() ?? parent::getNavigationLabel(); } public static function getEloquentQuery(): Builder { $query = parent::getEloquentQuery(); if (static::getConfiguration()->isArchived()) { return $query->where('is_archived', true); } return $query->where('is_archived', false); } } ?>

Назовите пункты меню «Активные» и «Архив», а не именем модели.

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