PHPackages                             bambamboole/filament-menu - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bambamboole/filament-menu

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

bambamboole/filament-menu
=========================

Create menus with ease in Filament

0.3.0(3mo ago)1722↓85.8%[2 PRs](https://github.com/bambamboole/filament-menu/pulls)1MITPHPPHP ^8.3CI passing

Since Feb 19Pushed 2mo agoCompare

[ Source](https://github.com/bambamboole/filament-menu)[ Packagist](https://packagist.org/packages/bambamboole/filament-menu)[ Docs](https://github.com/bambamboole/filament-menu)[ GitHub Sponsors](https://github.com/bambamboole)[ RSS](/packages/bambamboole-filament-menu/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (7)Dependencies (22)Versions (12)Used By (1)

Filament Menu
=============

[](#filament-menu)

[![Latest Version on Packagist](https://camo.githubusercontent.com/a84a39e8e33171292f9be1608aae694fde58580a0246f060536d8c16f8dbe0ba/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f62616d62616d626f6f6c652f66696c616d656e742d6d656e752e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bambamboole/filament-menu)[![GitHub Tests Action Status](https://camo.githubusercontent.com/8125eafce04d889ee43893bcb5d05b996fafce5ec867eff14c9c554750574cc3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f62616d62616d626f6f6c652f66696c616d656e742d6d656e752f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/bambamboole/filament-menu/actions?query=workflow%3Arun-tests+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/2bd98a1042faff9698ef17fd27960935e8e2a39302c10921dad4f0fc1b86c610/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f62616d62616d626f6f6c652f66696c616d656e742d6d656e752e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bambamboole/filament-menu)

A menu builder plugin for [Filament](https://filamentphp.com) that lets you create and manage navigation menus with drag-and-drop ordering, nesting, and linkable Eloquent models.

Installation
------------

[](#installation)

```
composer require bambamboole/filament-menu
```

Usage
-----

[](#usage)

Register the plugin in your panel provider:

```
use Bambamboole\FilamentMenu\FilamentMenuPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentMenuPlugin::make()
                ->locations(['header', 'footer', 'sidebar'])
                ->linkables([Page::class, Post::class])
                ->canAccess(fn () => auth()->user()->isAdmin())
                ->cacheFor(3600),
        ]);
}
```

MethodDescription`locations(array)`Named positions where menus can be assigned (e.g. header, footer)`linkables(array)`Eloquent models that can be linked as menu items`canAccess(Closure)`Controls who can manage menus`cacheFor(int)`Cache duration in seconds (auto-invalidated on changes)Linkable Models
---------------

[](#linkable-models)

To let editors link menu items to your Eloquent models, implement the `Linkable` interface:

```
use Bambamboole\FilamentMenu\Contracts\Linkable;
use Bambamboole\FilamentMenu\Concerns\IsLinkable;
use Illuminate\Database\Eloquent\Builder;

class Page extends Model implements Linkable
{
    use IsLinkable;

    public static function getLinkableQuery(): Builder
    {
        return static::query()->where('published', true);
    }

    public static function getNameColumn(): string
    {
        return 'title';
    }

    public function getLink(): string
    {
        return route('pages.show', $this->slug);
    }
}
```

The `IsLinkable` trait provides sensible defaults — override only what you need.

Rendering Menus
---------------

[](#rendering-menus)

Use the Blade component in your templates:

```

```

Or retrieve menus programmatically:

```
use Bambamboole\FilamentMenu\Models\Menu;

$menu = Menu::findByLocation('header');
$tree = $menu->getTree(); // array of nested items
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](.github/SECURITY.md) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Manuel Christlieb](https://github.com/bambamboole)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance83

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

7

Last Release

106d ago

PHP version history (2 changes)0.1.0PHP ^8.2

0.2.0PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/547137a6d80cad01ed1dd065b1c6af329d9a23a4134a895cff01e078cc155500?d=identicon)[bambamboole](/maintainers/bambamboole)

---

Top Contributors

[![bambamboole](https://avatars.githubusercontent.com/u/8823695?v=4)](https://github.com/bambamboole "bambamboole (36 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (3 commits)")

---

Tags

laravelfilamentfilament-pluginfilamentphpbambamboolefilament-menu

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/bambamboole-filament-menu/health.svg)

```
[![Health](https://phpackages.com/badges/bambamboole-filament-menu/health.svg)](https://phpackages.com/packages/bambamboole-filament-menu)
```

###  Alternatives

[ysfkaya/filament-phone-input

A phone input component for Laravel Filament

3161.3M25](/packages/ysfkaya-filament-phone-input)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[dotswan/filament-map-picker

Easily pick and retrieve geo-coordinates using a map-based interface in your Filament applications.

128192.3k3](/packages/dotswan-filament-map-picker)[stephenjude/filament-feature-flags

Filament implementation of feature flags and segmentation with Laravel Pennant.

122177.8k1](/packages/stephenjude-filament-feature-flags)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6649.5k1](/packages/marcelweidum-filament-passkeys)[jibaymcs/filament-tour

Bring the power of DriverJs to your Filament panels and start a tour !

12453.6k](/packages/jibaymcs-filament-tour)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
