aiman / nova-menu-builder
Advanced Menu Builder Tool for Laravel Nova.
Installs: 280
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 2
Open Issues: 9
Language:Vue
Requires
- php: >=7.1.0
- spatie/laravel-translatable: >=3.1
- dev-master
- v1.0.0
- dev-dependabot/npm_and_yarn/eventsource-and-laravel-mix--removed
- dev-dependabot/npm_and_yarn/json5-and-laravel-mix-2.2.3
- dev-dependabot/npm_and_yarn/async-2.6.4
- dev-dependabot/npm_and_yarn/minimist-and-mkdirp-1.2.8
- dev-dependabot/npm_and_yarn/loader-utils-1.4.2
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/minimatch-3.0.8
- dev-dependabot/npm_and_yarn/node-sass-7.0.0
This package is auto-updated.
Last update: 2023-10-10 04:46:04 UTC
README
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
Installation
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 migrate
Then 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
Usage
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(), ]; }
Helpers
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
ul
andli
, 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') !!}
Localization
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"
Important
This package is tested for Nova v2.0+ Latest tested on nova v3.6.0
Credit
Huge Credit goes for @Jawish Hameed for his thaana translation plugin Thaana Keyboard