Menu Builder Tool for Laravel Nova.

Installs: 14 434

Dependents: 0

Suggesters: 0

Security: 0

Stars: 64

Watchers: 3

Forks: 25


v2.0.1 2019-10-15 13:32 UTC

This package is auto-updated.

Last update: 2024-05-16 00:11:02 UTC


This tool allows you to create menus in Laravel Nova

menu builder Home

Menu Builder Items


You can install the package in to a Laravel app that uses Nova via composer:

composer require infinety-es/nova-menu-builder

Then you should publish the database table file and migrate it:

php artisan vendor:publish --tag=menu-builder-migration
php artisan migrate


Next up, you must register the tool with Nova. This is typically done in the tools method of the NovaServiceProvider.

// in app/Providers/NovaServiceProvider.php

// ...

public function tools()
    return [
        // ...
        new \Infinety\MenuBuilder\MenuBuilder(),


There are three helpers built in for your blades

  • menu_builder('slug').

    	Creates an html menu for given slug. Extra options are not required. By default tags are `ul` and `li`, and without html classes.
{!! menu_builder('main') !!}


{!! menu_builder('main', 'parent-class', 'child-class', 'dl', 'dd') !!}
  • menu_name('slug').

    	Returns the name of the menu for a given slug.
{{ menu_name('main') }}
  • menu_json('slug').

    	Returns a json with all items for given slug.
{!! menu_json('main') !!}

Example using blade.

@foreach (getMenuBySlug('header')->parentItems as $menuItem)
    @include('menu-builder::menu-item', [
      'menu' => $menuItem,
      'active_top_class' => 'active',
      'active_child_class' => 'active',


Set your translations in the corresponding xx.json file located in /resources/lang/vendor/nova

"Menu Builder": "Menu Builder",
"Menu Items": "Menu Items",
"Add item": "Add item",
"Delete item": "Delete item",
"Are you sure to delete this menu item?": "Are you sure to delete this menu item?",
"Take care. All children items will be deleted cause you're deleting the parent.": "Take care. All children items will be deleted cause you're deleting the parent.",
"Cancel": "Cancel",
"Yes, remove!": "Yes, remove!",
"Add Menu item": "Add Menu item",
"Name": "Name",
"Slug": "Slug",
"Menu Helper": "Menu Helper",
"Link type": "Link type",
"Choose an option": "Choose an option",
"Static Url": "Static Url",
"Dynamic Route": "Dynamic Route",
"URL": "URL",
"Route": "Route",
"Parameters": "Parameters",
"Open in": "Open in",
"Same window": "Same window",
"New window": "New window",
"Classes": "Classes",
"Create menu item": "Create menu item",
"Update menu item": "Update menu item",
"Item removed successfully!": "Item removed successfully!",
"Item created!": "Item created!",
"Item updated!": "Item updated!",
"Menu reordered!": "Menu reordered!",
"Error on server!": "Error on server!",
"Enabled": "Enabled",
"Disabled": "Disabled"


Please see CHANGELOG for more information on what has changed recently.


Please see CONTRIBUTING for details.


If you discover any security related issues, please email instead of using the issue tracker.


You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Infinety - Calle Comedias, 8 Floor 3, Suite 5 46003 Valencia (Spain).



The MIT License (MIT). Please see License File for more information.