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: | 2024-11-11 15:19:34 |
Package Statistics | |
---|---|
Total Downloads: | 12,760 |
Monthly Downloads: | 151 |
Daily Downloads: | 2 |
Total Stars: | 24 |
Total Watchers: | 6 |
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.