This package forked from Nova Menu Builder This package supports thaana keyboard by JTK
This package uses Spatie Translatable
This tool allows you to create menus in Laravel Nova to a similar fashion to wordpress menu layout and also supports thaana keyboard
You can install the package in to a Laravel app that uses Nova via composer:
composer require aiman/nova-menu-builder
Then you should publish the service provider, migrate database:
php artisan vendor:publish --provider="Aiman\MenuBuilder\ToolServiceProvider"
php artisan migrateThen run the LangaugesTableSeeder located in seeds folder inside database folder
public function run() { $this->call(LanguagesTableSeeder::class); }
execute this command to run the seeds
php artisan db:seed
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 \Aiman\MenuBuilder\MenuBuilder(), ]; }
There are two 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
ulandli, and without html classes.
{!! menu_builder('main') !!}
//or
{!! menu_builder('main', 'parent-class', 'child-class',with children(boolean) , with active/deactive(boolean), 'dl',
'dd') !!}
booleans default is true-
menu_json('slug').
Returns a json with all items for given slug.
{!! menu_json('main') !!}-
menu_type('type').
Returns a json with all items for given type
Param main_menu secondary_menu vertical_menu currency_menu langauge_menu
{!! menu_type('main_menu') !!}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"
This package is tested for Nova v2.0+ Latest tested on nova v3.6.0
Huge Credit goes for @Jawish Hameed for his thaana translation plugin Thaana Keyboard

