- How do I install ryangjchandler/filament-navigation in a Laravel app?
- Install it with Composer, pinning the beta version if you need stability: composer require ryangjchandler/filament-navigation:1.0.0-beta6. Publish the package migration, run php artisan migrate, and register the plugin in your Filament panel provider. Then create a menu with a handle such as main or footer and render it in your layout.
- Does filament-navigation support Filament v3 or v4?
- The package is a Filament panel plugin, but the provided context does not include a formal Filament version support matrix. Check its composer.json and README for the exact Filament constraint before planning a v3-to-v4 upgrade. Because it is pre-1.0, pin the package version and test panel upgrades in CI.
- How do I render a navigation menu in Blade?
- Menus are persisted with a handle, and your application resolves the active tree by that handle and includes it in Blade. The package provides the menu data, not routing or SEO, so you write the Blade partial for markup and optional caching. Use the same handle in layouts and controllers so templates stay stable.
- How does filament-navigation store menu items?
- Each menu is a Navigation record keyed by a handle, with the tree stored as a denormalised payload rather than relational rows. That makes reads and drag-and-drop reordering cheap, but there are no foreign keys or per-item queries. You get no database-level referential integrity for menu links.
- Can I link menu items to Eloquent models or only custom URLs?
- The package supports custom links and model-linked items, so editors can build menus that reference models as well as arbitrary URLs. Because items are stored in the menu payload, deleting a linked page or post can leave a dead menu link. Plan a validation or link-check step, and add custom link types if you need stronger model integration.
- What happens if an editor renames a navigation menu?
- In v1.0.0-beta6 the edit page was fixed so changing the menu name no longer overrides its handle. Before that fix, a routine content edit could silently blank a live menu because templates resolve menus by handle. Verify that handle auto-generation from name still happens on create and that handle changes are deliberate.
- Is filament-navigation production-ready?
- It is still pre-1.0 beta software, so treat it as usable but pin an exact version such as 1.0.0-beta6 and review upgrades. The main production risks are handle integrity and unvalidated link targets, not infrastructure. Add link validation, cache or JSON adapters if needed, and keep a fork path in mind.
- How do I test navigation menus built with filament-navigation?
- Create Navigation records with known handles in your Laravel test setup, then call your render helper or Blade partial and assert the expected links and order. Test handle stability when menus are edited, and cover any caching or JSON shaping you add. The package does not replace your application-level feature tests.
- Can I use filament-navigation with multiple Filament panels or tenants?
- The plugin is registered in a Filament panel provider, but the provided context does not document built-in multi-panel or multi-tenant scoping. Menus are resolved by handle, so global handles can collide if you run several brands or panels. Plan to scope queries, policies, or handle naming yourself unless the package documents tenant isolation.
- What are alternatives to filament-navigation and is it maintained?
- Alternatives include a custom Filament resource, a general Laravel menu package such as spatie/laravel-menu, or another Filament navigation plugin. This package is maintained with a single-maintainer cadence and pre-1.0 churn, though its surface area is small enough to fork or reimplement if needed. Pin versions and monitor releases before relying on it long term.