hoaaah/laravel-bootstrap-menu

该包的最新版本(dev-master)没有提供许可证信息。

用于动态创建 Bootstrap 菜单的包。

dev-master 2017-07-14 06:55 UTC

This package is auto-updated.

Last update: 2024-09-25 16:24:20 UTC


README

Laravel Bootstrap Menu 是 Laravel 中创建动态菜单的辅助工具。此辅助工具暂时与 SB Admin 2 进行了测试。所以请耐心等待进一步的开发。

安装

安装此扩展的首选方式是通过 composer

运行

composer require hoaaah/laravel-bootstrap-menu:dev-master

或将以下内容添加到您的 composer.json 文件的 require 部分中。

"hoaaah/laravel-bootstrap-menu": "dev-master"

用法

您可以在视图中使用此辅助工具。它还支持 blade 模板。

面包屑结构

此辅助工具包含以下代码。

use hoaaah\LaravelMenu\Menu as Menu;

// ..........

$menu = new Menu; // class
// render menu
$menu->render(
        'options' => [...] // optional
        'items' => [...]  // required
    );

选项

这是一个可选参数。您可以在选项中传递以下参数。

  • divClass 参数是 Bootstrap 菜单的 div 类。默认值是 'sidebar-nav navbar-collapse'。您可以使用 divClass 参数更改您的 div 类。

  • ulClass 参数是 Bootstrap 菜单的 ul 类。默认值是 'nav'。您可以使用 ulClass 参数更改您的 ul 类。

  • ulId 参数是 Bootstrap 菜单的 ul id。默认值是 'side-menu'。您可以使用 ulId 参数更改您的 ul id。

以下代码是一个示例。

$menu->render(
        'options' => [
            'ulId' => 'side-menu'
        ],
        'items' => [...]  // required
    );

项目

items 参数是渲染菜单所必需的。 items 是一个数组。此辅助工具支持三个菜单级别。您可以在 items 中传递以下参数。

  • label 是一个字符串。此参数用于菜单的标签。此参数是 items 的必需参数
  • url 是一个字符串。此参数用于菜单的链接。您不需要使用 'url()' 辅助工具。此参数是必需的,除非此项目是下一级菜单(下拉菜单)的标题
  • icon 是一个字符串。此参数用于菜单的图标。默认值是 fa fa-circle-o。此参数是可选的,您可以使用 icon 参数更改菜单的图标。
  • visible 是一个布尔值。此参数用于菜单的可见性。默认值是 'true'。此参数是可选的,您可以使用 visible 参数更改菜单的可见性。
  • items 是一个数组。此参数用于添加您的菜单的另一个级别。您可以在此参数中使用所有 items 参数。如果存在 items 参数,则将忽略 url 参数。

以下代码是面包屑项目的完整示例

use hoaaah\LaravelMenu\Menu as Menu;

$menu = new Menu; // class

$menu->render(
        'options' => [
            'ulId' => 'side-menu'
        ],
        'items' => [
            ['label' => 'Dashboard', 'icon' => 'fa fa-home', 'url' => '/'],
            [
                'label' => 'First Level 1',
                'visible' => true,
                'items' => [
                    ['label' => 'Second Level -1', 'url' => '/renja'],
                    ['label' => 'Second Level -2', 'url' => '/renja'],
                ]
            ],            
            [
                'label' => 'First Level 2',
                'items' => [
                    [
                        'label' => 'Second Level 1',
                        'visible' => true,
                        'items' => [
                            ['label' => 'Third Level 1', 'url' => '/ranwalrkpd'],
                            ['label' => 'Third Level 2', 'url' => '/ranwalrkpd'],
                        ]
                    ],
                ]
            ],
        ]
    );