kalnoy / illuminate-menu
使用 Bootstrap 标记构建 Laravel 菜单的构建器。
v1.3.5
2019-10-18 14:10 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- illuminate/http: 4.2 - 5.6
- illuminate/support: 4.2 - 5.6
- mockery/mockery: ~0.9
README
使用 Bootstrap 标记构建的 Laravel 4-5 菜单构建器。
请注意,此包不附带样式和脚本,您必须手动从 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 元素的 HTML 属性数组。
渲染菜单项列表
<ul>{!! Menu::items($items) !!}</ul>
渲染单个菜单项
{!! Menu::item($label, $url) !!}
{!! Menu::item($label, $options) !!}
{!! Menu::item($options) !!}
请参阅下面的可用选项列表 下面。
基本示例
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' ] ], ]);
渲染带有下拉菜单的项目
{!! Menu::item([
'label' => 'Settings',
'icon' => 'wrench',
'items' => [
'Foo' => 'bar',
'-', // divider
'Logout' => [ 'route' => 'logout_path' ],
],
]) !!}
控制项目是否可见
{!! Menu::item([
'label' => 'Foo',
'url' => 'bar',
'visible' => function () { return Config::get('app.debug'); },
] !!}
项目选项
您可以指定以下选项的数组
label是项目的标签,自动翻译,因此您可以指定语言字符串 IDurl是 URL,可以是完整 URI 或本地路径route指定路由,可能包含参数secure;指定true使url成为安全(不影响route选项)items是下拉菜单的项目数组linkOptions是额外的链接属性数组
改变项目的状态
visible是布尔值或闭包,用于指定项目是否可见active是布尔值或闭包,用于指定是否向项目添加active类;如未指定,将根据当前 URL 自动确定disabled是布尔值或闭包,用于指定菜单项是否禁用
展示选项
icon是 glyphicon ID,例如pencilbadge是徽章的值(标量或闭包)- 以及任何其他将作为
<li>元素的属性渲染的参数。
自定义
虽然这个菜单构建器旨在与 Bootstrap 标记一起使用,但您可以通过扩展 Illuminate\Html\MenuBuilder 类并重写基本方法来自定义它。