dowilcox / KnpMenu-Laravel by dowilcox

Laravel package to create navigation menus, based on KnpLabs/KnpMenu.
3,398
4
1
Package Data
Maintainer Username: dowilcox
Maintainer Contact: dowilcox@umflint.edu (Donald Wilcox)
Package Create Date: 2015-03-03
Package Last Update: 2016-11-11
Language: PHP
License: MIT
Last Refreshed: 2024-12-26 15:15:54
Package Statistics
Total Downloads: 3,398
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 4
Total Watchers: 1
Total Forks: 2
Total Open Issues: 0

KnpMenu-Laravel

Laravel 5 package to create navigation menus, based on KnpLabs/KnpMenu.

Installation

Add to your composer.json file

"dowilcox/knp-menu-laravel": "1.0.*"

Register the package

In config/app.php add the service provider and alias.

Dowilcox\KnpMenu\MenuServiceProvider::class,
'Menu' => Dowilcox\KnpMenu\Facades\Menu::class,

Publish config

php artisan vendor:publish

Example

$menu = Menu::create('main-menu', ['childrenAttributes' => ['class' => 'nav']]);

$menu->addChild('Home', ['uri' => url('/')]);
$menu->addChild('Users', ['uri' => route('admin.users.index')]);
$menu->addChild('Roles', ['uri' => route('admin.roles.index')]);
$menu->addChild('Menu', ['uri' => url('menu')]);

echo Menu::render($menu);

Will output:

<ul class="nav">
  <li class="first">
    <a href="http://localhost:8000">Home</a>
  </li>
  <li>
    <a href="http://localhost:8000/admin/users">Users</a>
  </li>
  <li>
    <a href="http://localhost:8000/admin/roles">Roles</a>
  </li>
  <li class="current active last">
    <a href="http://localhost:8000/menu">Menu</a>
  </li>
</ul>