Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Menus Laravel Package

laravel-enso/menus

Database-driven menu management for Laravel Enso: define and organize application menus, render hierarchical navigation, and control item visibility through the Enso permission system. Integrates cleanly with Enso's core modules and UI components.

View on GitHub
Deep Wiki
Context7

Laravel Enso main menu manager, for easy management of the application menus straight from the interface, whether that means adding, removing or reordering them

Frequently asked questions about Menus
What is laravel-enso/menus used for?
It is the main menu manager for the Laravel Enso admin suite. It provides a database-backed, hierarchical menu tree plus the admin screens, controllers, routes, and Vue components needed to add, remove, and drag-reorder navigation entries from inside the application. Visibility of each item is controlled through Enso's permission system, so menus reflect what the current user is authorized to see.
Do I need Laravel Enso to use this package?
Yes. laravel-enso/menus is a first-party module of the Laravel Enso scaffolding suite and assumes Enso core, the structure module, the permissions module, and Enso's Vue-based frontend shell are already installed. Outside that ecosystem the package has no practical use, because its admin screens only render inside Enso's layout and route conventions. If you are not running Enso, a small custom nested-menu table is usually faster than porting this one.
How do I install laravel-enso/menus?
Install it with Composer as part of an existing Enso application, typically via composer require laravel-enso/menus. The service provider is auto-discovered and the package ships its own migrations, which are loaded automatically by Enso's migration pipeline. After migrating, the menu management screens appear in the Enso admin sidebar subject to your permissions.
Which Laravel and PHP versions does laravel-enso/menus support?
The package is released in lockstep with Enso core and declares tight version constraints against laravel-enso/enso, laravel-enso/structure, and the related helper and UI packages. The supported Laravel and PHP versions therefore match whatever the pinned Enso release supports. Check the composer.json constraints of the specific tag before upgrading your host application's Laravel major version.
How does menu item visibility integrate with permissions?
Each menu entry carries a permission reference that Enso evaluates when building the menu tree for the current user. Items the user is not authorized to see are filtered out, so the same menu definition serves multiple roles without duplication. The mapping uses Enso's roles and permissions model, which means non-Enso authorization schemes need an adapter or a rewrite.
Can I reorder menu items with drag and drop?
Yes. The package includes the Vue components and backend endpoints that let an administrator drag items to reorder them in the tree. Ordering is persisted through Enso's structure and ordering traits, so the position is stored in the database rather than in configuration. Because those traits maintain the tree semantics, reordering should always go through the UI or the package's endpoints.
Does laravel-enso/menus cache the menu, and how is the cache invalidated?
Yes, the rendering path is tied to Enso's menu cache, which is why cache invalidation is a correctness concern and not just a performance detail. Changes made through the menu management interface trigger the appropriate cache refresh. If you modify menu data by other means, make sure the cache is cleared or the UI will keep serving the stale tree.
Is it safe to edit the menus table directly in the database?
Generally no. The menu is a tree maintained by Enso's ordering and structure traits, and hand-editing rows or importing records risks corrupting parent-child relationships and sibling order. Use the provided admin interface or the package's model and service layer for bulk changes. If you must script changes, wrap them in the same ordering logic the package uses.
What are the alternatives if I am not using Laravel Enso?
For a plain Laravel application, general-purpose options like spatie/laravel-menu or a small Eloquent-backed nested set table give you the same capability without adopting an entire admin framework. The realistic comparison is not package versus package but whether you are committing to Enso as your admin scaffold. If you are, this module comes almost for free; if not, the integration effort is really a rebuild.
How is laravel-enso/menus maintained and versioned?
It is maintained by the Laravel Enso team as a first-party module and released in lockstep with Enso core, so its version numbers and constraints track the umbrella project rather than an independent roadmap. The low star count on this repository reflects that community attention concentrates on the main Enso repository, not that the module is abandoned. Confirm the release cadence and any paid support tier with the maintainer before committing.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource