Чужой контекст в Filament
Давайте войдём в чужой контекст. Страница активных /admin/posts/active остаётся текущим списком. Нужен лишь адрес архива.
Статический метод
withConfiguration
на время вызова
подменит настройку
и вернёт результат
замыкания. В ListPosts.php
соберём ссылку так:
<?php
namespace App\Filament\Resources\Posts\Pages;
use App\Filament\Resources\Posts\PostResource;
use Filament\Actions\Action;
use Filament\Resources\Pages\ListRecords;
class ListPosts extends ListRecords
{
protected static string $resource = PostResource::class;
protected function getHeaderActions(): array
{
return [
Action::make('archive')
->label('Archive')
->url(
PostResource::withConfiguration(
'archived',
fn () => PostResource::getUrl('index'),
),
),
];
}
}
?>
Внутри замыкания
getUrl
увидит архивную настройку.
После выхода список
снова работает
как копия active.
Со страницы активных получите адрес архива, не переключая текущий список.