coddin-web / filament-menu-generator
1.0.0
2024-02-09 07:50 UTC
Requires
- php: ^8.2
- filament/filament: ^3.0
README
由于 Filament 希望您通过为每个资源设置排序顺序来构建菜单,因此您最终必须保留一个详尽的思维导图来描述您的 NavigationMenu 结构。
由于这相当费力,我们创建了一个包,它将根据包含所有资源和/或页面的数组为您生成一个 NavigationMenu,以创建一个简单的1级菜单视图。
安装
请确保已全局安装 Composer,如 Composer 文档中的安装章节所述。
步骤 1:要求模块
打开命令控制台,进入您的项目目录并执行
$ composer require coddin-web/filament-menu-generator
步骤 2:使用模块
抽象类 Navigation
应由每个您希望监督其 NavigationMenu 的面板类扩展。
例如:
use CoddinWeb\FilamentMenuGenerator\Navigation; final class AdminNavigation extends Navigation { #[\Override] public static function getMenu(): array { return [ CustomerResource::class => [ 'group' => 'Management' ], InvoiceResource::class => [ 'group' => 'Management' ], UserResource::class => [ 'group' => 'Administration' ], ]; } }
然后,在您的特定面板中,您可以通过调用 AdminNavigation
类来生成菜单。
// ... \App\Filament\Admin\Resources\CustomerResource.php public static function getNavigationGroup(): string { return AdminNavigation::group(self::class); } public static function getNavigationSort(): int { return AdminNavigation::sort(self::class); }