Générateur de base de données de menus pour l'utiliser comme navigation sur le panneau de filament ou comme composant Livewire
composer require tomatophp/filament-menus
après avoir installé votre package, veuillez exécuter cette commande
php artisan filament-menus:install
enregistrez enfin le plugin sur /app/Providers/Filament/AdminPanelProvider.php
-> plugins (
Filament SpatieLaravelTranslatablePlugin :: make ()-> defaultLocales ([ ' en ' , ' ar ' ])
TomatoPHP FilamentMenus FilamentMenusPlugin :: make ()
)
vous pouvez utiliser ce package comme navigation sur le panneau d'administration de 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 ' ));
})
où dashboard
est une touche de menu.
allez dans route admin/menus
et créez un nouveau menu et vous obtiendrez le code du composant livewire
vous pouvez créer un menu simplement en utilisant cette commande comme composant livewire
">< x-filament-menu menu = " header " />
où header
est une clé de menu et vous obtiendrez le code prêt sur la liste des menus du tableau
vous pouvez utiliser une vue personnalisée ex :
">< x-filament-menu menu = " header " view = " menu-item " />
par défaut, nous utilisons Tailwind comme vue principale avec ce code
@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
ou vous pouvez utiliser menu($key)
pour obtenir les éléments de menu
@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
vous pouvez publier le fichier de configuration en utilisant cette commande
php artisan vendor:publish --tag= " filament-menus-config "
vous pouvez publier un fichier de vues en utilisant cette commande
php artisan vendor:publish --tag= " filament-menus-views "
vous pouvez publier le fichier de langues en utilisant cette commande
php artisan vendor:publish --tag= " filament-menus-lang "
vous pouvez publier le fichier de migrations en utilisant cette commande
php artisan vendor:publish --tag= " filament-menus-migrations "
Découvrez notre génial TomatoPHP