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,例如pencil
badge
是徽章的值(标量或闭包)- 以及任何其他将作为
<li>
元素的属性渲染的参数。
自定义
虽然这个菜单构建器旨在与 Bootstrap 标记一起使用,但您可以通过扩展 Illuminate\Html\MenuBuilder
类并重写基本方法来自定义它。