PHP code example of salahhusa9 / laravel-menu

1. Go to this page and download the library: Download salahhusa9/laravel-menu library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

salahhusa9 / laravel-menu example snippets


use SalahHusa9\Menu\Facades\Menu;

public function boot()
{
    Menu::add('test', 'route.name', 'fa fa-home');
}

Menu::add('test')
    ->add('test2');

Menu::add('test')
    ->add('test2')
    ->addSubmenu('test3', function ($submenu) {
        $submenu->add('test4');
    })
    ->add('test5');

Menu::add('test', 'route.name', ['icon' => 'fa fa-home']);

Menu::add('test', 'route.name',['class' => 'customClass', 'id' => 'customId']);

Menu::add('test', 'route.name', ['target' => '_blank']);

Menu::add('test', 'route.name', ['badgeClass' => 'badge badge-success', 'badgeName' => 'New']);

// old:
if (auth()->user()->can('gateName')){
    Menu::add('test', 'route.name');
}
// new:
Menu::add('test', 'route.name', ['gateName' => 'gateName']);

    Menu::make('sidebar', function ($menu) {
        $menu->add('test', 'route.name');
    });

    Menu::make('main', function ($menu) {
        $menu->add('test', 'route.name');
    });

return [
    "ul_class" => "menu-inner py-1", // default menu class
    "ul_sub_menu_class" => "menu-sub", // default submenu class

    "li_class" => "menu-item", // default menu item class
    "li_sub_menu_class" => "menu-item", // default submenu item class
    "li_sub_menu_open_class" => "menu-item active open", // default submenu item class when open

    "a_class" => "menu-link", // default menu link class
    "a_sub_menu_class" => "menu-link menu-toggle", // default submenu link class

    "icon_class" => "menu-icon", // default menu icon class

    "li_active_class" => "active", // default active class of li
    "a_active_class" => "active", // default active class of a

    "badge_class" => "badge rounded-pill ms-auto", // default badge class
];

add(
    $name,
    $routeName = null,
    $options = [],
)

addSubmenu(
    $name,
    callback $callbackOfSubmenu,
    $options
)

Menu::getMenuAsJson(); // return the menu as json
Menu::renderAsJson(); // return the menu as json
Menu::renderAsHtml(); // return the menu as html
bash
php artisan vendor:publish --tag="menu-config"
bash
php artisan vendor:publish --tag="menu-views"
bash
php artisan vendor:publish --tag="menu-views"
bash
php artisan vendor:publish --tag="menu-config"