Установка
September 26, 2015 · View on GitHub
Laravel Menu Builder
Билдер меню для Laravel 4-5 под разметку Bootstrap.
Обратите внимание, что расширение поставляется без каких либо стилей и скриптов, их нужно отдельно установить с сайта Twitter Bootstrap, или сделать своё оформление на основе правил, которые задает это фреймфорк.
Установка
Установка с помощью Composer:
composer require kalnoy/illuminate-menu:~1.0
Добавте провайдер:
'providers' => [
'Illuminate\Html\MenuServiceProvider',
],
И фасад для быстрого доступа:
'aliases' => [
'Menu' => 'Illuminate\Support\Facades\Menu',
],
Документация
Вывод меню:
{!! Menu::render($items, $attributes) !!}
Где $attributes необязательный параметр с атрибутами для тэга ul.
Вывод только элементов меню без внешнего тэга:
<ul>{!! Menu::items($items) !!}</ul>
Вывод одного элемента меню:
{!! Menu::item($label, $url) !!}
{!! Menu::item($label, $options) !!}
{!! Menu::item($options) !!}
Список доступных опций доступен ниже.
Простой пример:
Menu::render([
'Локальная ссылка' => 'bar',
'Внешняя ссылка' => 'http://bar',
[ 'label' => 'Локальная ссылка', 'url' => 'bar' ],
'Ссылка на роут' => [ 'route' => [ 'route.name', 'foo' => 'bar' ] ],
]);
Вывод элемента меню с выпадающим списком:
{!! Menu::item([
'label' => 'Настройки',
'icon' => 'wrench',
'items' => [
'Foo' => 'bar',
'-', // разделитель
'Выйти' => [ 'route' => 'logout_path' ],
],
]) !!}
Управление видимостью элемента:
{!! Menu::item([
'label' => 'Foo',
'url' => 'bar',
'visible' => function () { return Config::get('app.debug'); },
] !!}
Опции
Вы можете использовать следующий список опций:
labelзаголовок элемента меню; автоматически переводится, т.е. можно указать идентификатор строкиurlссылка на локальный или внешний адресrouteчтобы указать роут с параметрами или безsecure; укажитеtrueчтобы сделать локальную ссылку безопасной (https) (влияет только на опциюurl)itemsсписок элементов в выпадающем менюlinkOptionsмассив дополнительных атрибутов ссылки
Изменение состояния элемента:
visibleбулевское значение или closure для указания видимости элементаactiveбулевское значение или closure; если значениеtrue, то элементу добавляется классactivedisabledбулевское значение или closure; еслиtrue, то элементу добавляется классdisabledи он становится некликабельным
Опции представления:
iconидентификатор иконки glyphicon, напримерpencilbadgeзначение для метки (скалярное или closure)- любой другой параметр, который будет считаться как атрибут для элемента
<li>.