kalnoy/illuminate-menu

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

v1.3.5 2019-10-18 14:10 UTC

This package is auto-updated.

Last update: 2024-09-19 00:19:05 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 是可选的 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 是项目的标签,自动翻译,因此您可以指定语言字符串 ID
  • url 是 URL,可以是完整 URI 或本地路径
  • route 指定路由,可能包含参数
  • secure;指定 true 使 url 成为安全(不影响 route 选项)
  • items 是下拉菜单的项目数组
  • linkOptions 是额外的链接属性数组

改变项目的状态

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

展示选项

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

自定义

虽然这个菜单构建器旨在与 Bootstrap 标记一起使用,但您可以通过扩展 Illuminate\Html\MenuBuilder 类并重写基本方法来自定义它。