Menu Generator
Menu view generator using view component
Author:
Fady Mondy
Documentation
- Screenshots
- Installation
- Use as Filament Navigation
- Use as a Livewire Component
- Publish Assets
- Other Filament Packages

Menu Database builder to use it as a navigation on Filament Panel or as a Livewire Component
#Screenshots

#Installation
composer require tomatophp/filament-menus
after install your package please run this command
php artisan filament-menus:install
finally register the plugin on /app/Providers/Filament/AdminPanelProvider.php
->plugins(
\Filament\SpatieLaravelTranslatablePlugin::make()->defaultLocales(['en', 'ar'])
\TomatoPHP\FilamentMenus\FilamentMenusPlugin::make()
)
#Use as Filament Navigation
you can use this package as a navigation on Filament Admin Panel
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'));
})
where dashboard is a key of menu.
#Use as a Livewire Component
go to route admin/menus and create a new menu and you will get the code of livewire component
you can build a menu just by using this command as a livewire component
<x-filament-menu menu="header" />
where header is a key of menu and you will get the code ready on the Table list of menus
you can use custom view ex:
<x-filament-menu menu="header" view="menu-item" />
by default we use Tailwind as a main view with this 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
or you can use direct helper menu($key) to get the menu items
@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
#Publish Assets
you can publish config file by use this command
php artisan vendor:publish --tag="filament-menus-config"
you can publish views file by use this command
php artisan vendor:publish --tag="filament-menus-views"
you can publish languages file by use this command
php artisan vendor:publish --tag="filament-menus-lang"
you can publish migrations file by use this command
php artisan vendor:publish --tag="filament-menus-migrations"
#Other Filament Packages
Checkout our Awesome TomatoPHP
The author
From the same author
Tenancy Multi-database
Tenancy multi-database integration for FilamentPHP
Author:
Fady Mondy
Translations Manager
Manage your translation with DB and cache, you can scan an collect translation strings like `trans()` and `__()`, and translate them using UI
Author:
Fady Mondy
Meta Manager
Convert any model on your app to pluggable model using Meta and get ready to use relation manager on FilamentPHP panel
Author:
Fady Mondy
Sticky Notes
Add Sticky Notes to your dashboard with tons of options and style.
Author:
Fady Mondy
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight/Raycast like Command Palette to your Filament Panel.
Dennis Koch
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission