coddin-web/filament-menu-generator

1.0.0 2024-02-09 07:50 UTC

This package is auto-updated.

Last update: 2024-09-09 08:55:55 UTC


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);
}