Menü-Datenbank-Builder zur Verwendung als Navigation im Filament Panel oder als Livewire-Komponente
composer require tomatophp/filament-menus
Führen Sie nach der Installation Ihres Pakets bitte diesen Befehl aus
php artisan filament-menus:install
Registrieren Sie schließlich das Plugin unter /app/Providers/Filament/AdminPanelProvider.php
-> plugins (
Filament SpatieLaravelTranslatablePlugin :: make ()-> defaultLocales ([ ' en ' , ' ar ' ])
TomatoPHP FilamentMenus FilamentMenusPlugin :: make ()
)
Sie können dieses Paket als Navigation im Filament Admin Panel verwenden
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 ' ));
})
wobei dashboard
ein Menüschlüssel ist.
Gehen Sie zu Route admin/menus
und erstellen Sie ein neues Menü. Sie erhalten dann den Code der Livewire-Komponente
Sie können ein Menü erstellen, indem Sie diesen Befehl einfach als Livewire-Komponente verwenden
">< x-filament-menu menu = " header " />
Dabei ist header
ein Menüschlüssel und Sie erhalten den Code in der Tabellenliste der Menüs
Sie können eine benutzerdefinierte Ansicht verwenden, z. B.:
">< x-filament-menu menu = " header " view = " menu-item " />
Standardmäßig verwenden wir Tailwind als Hauptansicht mit diesem 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
oder Sie können das direkte Hilfsmenü menu($key)
verwenden, um die Menüelemente abzurufen
@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
Mit diesem Befehl können Sie die Konfigurationsdatei veröffentlichen
php artisan vendor:publish --tag= " filament-menus-config "
Mit diesem Befehl können Sie die Ansichtsdatei veröffentlichen
php artisan vendor:publish --tag= " filament-menus-views "
Mit diesem Befehl können Sie die Sprachdatei veröffentlichen
php artisan vendor:publish --tag= " filament-menus-lang "
Mit diesem Befehl können Sie die Migrationsdatei veröffentlichen
php artisan vendor:publish --tag= " filament-menus-migrations "
Testen Sie unser Awesome TomatoPHP