| Package Data | |
|---|---|
| Maintainer Username: | lazychaser |
| Maintainer Contact: | lazychaser@gmail.com (Alexander Kalnoy) |
| Package Create Date: | 2015-01-15 |
| Package Last Update: | 2019-10-18 |
| Home Page: | |
| Language: | PHP |
| License: | MIT |
| Last Refreshed: | 2025-11-07 03:02:14 |
| Package Statistics | |
|---|---|
| Total Downloads: | 14,010 |
| Monthly Downloads: | 96 |
| Daily Downloads: | 6 |
| Total Stars: | 24 |
| Total Watchers: | 5 |
| Total Forks: | 3 |
| Total Open Issues: | 0 |
A menu builder for Laravel 4-5 using Bootstrap's markup.
Note that this package is shipped with no styles nor scripts, you have to download them manually from Twitter Bootstrap's site.
Install using Composer:
composer require kalnoy/illuminate-menu:~1.0
Add a service provider:
'providers' => [
'Illuminate\Html\MenuServiceProvider',
],
And a facade:
'aliases' => [
'Menu' => 'Illuminate\Support\Facades\Menu',
],
Rendering a menu:
{!! Menu::render($items, $attributes) !!}
Where $attributes is optional array of html attributes for ul element.
Rendering a list of menu items:
<ul>{!! Menu::items($items) !!}</ul>
Rendering a single menu item:
{!! Menu::item($label, $url) !!}
{!! Menu::item($label, $options) !!}
{!! Menu::item($options) !!}
See a list of available options below.
Basic example:
Menu::render([
'Link to url' => 'bar',
'Link to external url' => 'http://bar',
[ 'label' => 'Link to url', 'url' => 'bar' ],
'Link to route' => [ 'route' => [ 'route.name', 'foo' => 'bar' ] ],
]);
Rendering an item with a drop down menu:
{!! Menu::item([
'label' => 'Settings',
'icon' => 'wrench',
'items' => [
'Foo' => 'bar',
'-', // divider
'Logout' => [ 'route' => 'logout_path' ],
],
]) !!}
Controlling whether the item is visible:
{!! Menu::item([
'label' => 'Foo',
'url' => 'bar',
'visible' => function () { return Config::get('app.debug'); },
] !!}
You can specify an array of following options:
label is a label of the item, automatically translated, so you can specify lang string idurl is the url which can be a full URI or local pathroute to specify a route, possibly with parameterssecure; specify true to make url be secure (doesn't affect route option)items is an array of items for drop down menulinkOptions is an array of additional link attributesChanging the state of the item:
visible is a boolean value or closure to specify whether the item is visibleactive is a boolean value or closure to specify whether to add active class to item; if not specified, determined
automatically based on current urldisabled is a boolean value or closure to specify whether the menu item is disabledPresentation options:
icon is a glyphicon id, i.e. pencil
badge is a value for badge (scalar or closure)<li> element.Though this menu builder intended to be used together with bootstrap markup, you can customize it however you like by
extending Illuminate\Html\MenuBuilder class and overriding base methods.