Skip to main content
The Navigation Builder at /admin/nav-builder lets you create unlimited database-driven menus with drag-and-drop ordering, TinyMCE mega menus, per-item visibility rules, five built-in color schemes, and a plugin contract for adding custom item types — all without editing any template files.

Admin Path

Access is restricted to Admin accounts only. Other roles are denied access.

Key Features

Unlimited Named Menus

Create as many menus as you need. Designate exactly one as primary — it renders automatically in the public site header.

Graceful Fallback

A hardcoded navigation is preserved as a fallback. If no primary dynamic menu is configured, the site header continues to display the default navigation.

Drag-and-Drop Ordering

Reorder items within a menu using SortableJS drag-and-drop. Changes are saved immediately.

2-Level Nesting

Support for top-level items with child sub-menus. Mega menus and custom HTML submenu types accept TinyMCE-edited content.


Visibility Options (Per Item)

Control which users see each navigation item:

Color Schemes

Five built-in color schemes are available per menu: Select custom to use only the Custom CSS textarea — no preset variables are applied.

CSS Variable Scope

All color variables are scoped to #top-nav-{slug} to prevent conflicts between multiple menus on the same page:

Developer Plugin Contract

Add custom navigation item types by implementing the TopNavigationPlugin contract.

Step 1: Implement the Contract

Step 2: Add a plugin.json Manifest

Create a plugin.json file in your plugin folder (e.g. plugins/my-search-bar/):

Step 3: Drop Into plugins/

Place the plugin folder inside the plugins/ directory. It is auto-discovered on the next request — no registration or service provider changes needed.
If adminFormPartial() returns a non-null path, that Blade partial is rendered inside the nav item editor in the admin panel, allowing plugin-specific configuration fields to appear alongside the standard item settings.