adiamond/

illuminate-menu

此软件包已被弃用,不再维护。作者建议使用kalnoy/illuminate-menu软件包。

使用Bootstrap标记构建Laravel菜单。

v1.4.0 2016-12-27 05:44 UTC

This package is not auto-updated.

Last update: 2022-06-04 17:00:42 UTC


README

使用Bootstrap标记构建Laravel 4-5的菜单构建器。

Build Status Latest Stable Version Total Downloads

俄语文档

请注意,此软件包不包含样式和脚本,您需要手动从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是项目的标签,自动翻译,因此您可以指定语言字符串ID
  • url是URL,可以是完整URI或本地路径
  • route指定路由,可能带有参数
  • secure;指定true以使url安全(不影响route选项)
  • items是下拉菜单的项目数组
  • linkOptions是额外的链接属性数组

更改项目的状态

  • visible是布尔值或闭包,用于指定项目是否可见
  • active是布尔值或闭包,用于指定是否向项目添加active类;如果未指定,则根据当前URL自动确定
  • disabled是布尔值或闭包,用于指定菜单项是否禁用

表示选项

  • icon是图标ID,例如pencil
  • badge是徽章的值(标量或闭包)
  • 以及任何其他将作为<li>元素的属性渲染的参数。

自定义

尽管此菜单构建器旨在与bootstrap标记一起使用,但您可以通过扩展Illuminate\Html\MenuBuilder类并覆盖基本方法来自定义它。