adiamond / illuminate-menu
v1.4.0
2016-12-27 05:44 UTC
Requires
- php: >=5.6.4
Requires (Dev)
- illuminate/http: 5.1.*|5.2.*|5.3.*
- illuminate/support: 5.1.*|5.2.*|5.3.*
- 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
是可选的HTML属性数组,用于ul
元素。
渲染菜单项列表
<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
是图标ID,例如pencil
badge
是徽章的值(标量或闭包)- 以及任何其他将作为
<li>
元素的属性渲染的参数。
自定义
尽管此菜单构建器旨在与bootstrap标记一起使用,但您可以通过扩展Illuminate\Html\MenuBuilder
类并覆盖基本方法来自定义它。