页面
概述
Filament 允许你创建完全自定义的页面。
新建页面
要创建新页面,你可以使用下面的命令:
php artisan make:filament-page Settings
该命令会生成两个文件 - 一个位于Filament目录的 /Pages 文件夹中的页面类,以及一个位于 Filament 视图目录的 /pages 文件夹中的视图文件。
页面类是全页 Livewire组件,带有一些你可以在面板中使用的额外功能。
授权
通过重写页面类的 canAccess 方法,你可以阻止页面出现在菜单中。当你想在导航中控制哪些用户可以看到该页面以及哪些用户可以直接访问该页面时,这非常有用:
public static function canAccess(): bool
{
return auth()->user()->canManageSettings();
}
将 Action 添加到页面
Action 是可以在页面中执行任务或者访问 URL 的按钮。你可以点击此处查阅更多的内容。
因为所有的页面都是 Livewire 组件,你可以在任何地方添加 Action。页面中已经有了 InteractsWithActions trait,HasActions 接口以及 <x-filament-actions::modals /> Blade 组件。
头部 Action
你也可以轻松地在任何页面的头部添加 Action,包括[资源页面]。你不需要操心添加任何内容到 Blade 模 板,我们已经帮你处理了。只需在页面类的 getHeaderActions() 方法中返回 Action:
use Filament\Actions\Action;
protected function getHeaderActions(): array
{
return [
Action::make('edit')
->url(route('posts.edit', ['post' => $this->post])),
Action::make('delete')
->requiresConfirmation()
->action(fn () => $this->post->delete()),
];
}