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