tomatophp / filament-menus
菜单数据库构建器,可用于 Filament Panel 的导航或作为 Livewire 组件
v1.0.7
2024-09-17 16:41 UTC
Requires
- php: ^8.1|^8.2
- filament/filament: ^3.0.0
- filament/notifications: ^3.0.0
- filament/spatie-laravel-translatable-plugin: ^3.0.0
- tomatophp/console-helpers: ^1.1
- tomatophp/filament-icons: ^1.0
README
Filament Menus
菜单数据库构建器,可用于 Filament Panel 的导航或作为 Livewire 组件
屏幕截图
安装
composer require tomatophp/filament-menus
安装包后,请运行以下命令
php artisan filament-menus:install
最后在 /app/Providers/Filament/AdminPanelProvider.php
上注册插件
->plugins( \Filament\SpatieLaravelTranslatablePlugin::make()->defaultLocales(['en', 'ar']) \TomatoPHP\FilamentMenus\FilamentMenusPlugin::make() )
作为 Filament 导航使用
您可以将此包用作 Filament 管理面板的导航
use Filament\Navigation\NavigationBuilder; use Filament\Navigation\NavigationGroup; use TomatoPHP\FilamentMenus\FilamentMenuLoader; $panel->navigation(function (NavigationBuilder $builder){ return $builder // Use Inside Group ->groups([ NavigationGroup::make() ->label('Dashboard') ->items(FilamentMenuLoader::make('dashboard')), ]) // Use Directly ->items(FilamentMenuLoader::make('dashboard')); })
其中 dashboard
是菜单的键。
作为 Livewire 组件使用
前往路由 admin/menus
并创建一个新的菜单,您将获得 livewire 组件的代码
您可以通过使用此命令作为 livewire 组件来构建菜单
<x-filament-menu menu="header" />
其中 header
是菜单的键,您将在菜单的表格列表中获取准备好的代码
您可以使用自定义视图,例如
<x-filament-menu menu="header" view="menu-item" />
默认情况下,我们使用 Tailwind 作为主视图,代码如下
@foreach ($menuItems as $item) <a class="text-gray-500" href="{{ $item['url'] }}" @if($item['blank']) target="_blank" @endif> <span class="flex justify-between"> @if(isset($item['icon']) && !empty($item['icon'])) <x-icon class="w-4 h-4 mx-2" name="{{ $item['icon'] }}"></x-icon> @endif {{ $item['title'] }} </span> </a> @endforeach
或者您可以使用直接助手 menu($key)
来获取菜单项
@foreach (menu('header') as $item) <a class="text-gray-500" href="{{ $item['url'] }}" @if($item['blank']) target="_blank" @endif> <span class="flex justify-between"> @if(isset($item['icon']) && !empty($item['icon'])) <x-icon class="w-4 h-4 mx-2" name="{{ $item['icon'] }}"></x-icon> @endif {{ $item['title'] }} </span> </a> @endforeach
发布资产
您可以通过使用此命令发布配置文件
php artisan vendor:publish --tag="filament-menus-config"
您可以通过使用此命令发布视图文件
php artisan vendor:publish --tag="filament-menus-views"
您可以通过使用此命令发布语言文件
php artisan vendor:publish --tag="filament-menus-lang"
您可以通过使用此命令发布迁移文件
php artisan vendor:publish --tag="filament-menus-migrations"
其他 Filament 包
查看我们的 Awesome TomatoPHP