bumbummen99/bs4menu

此包已被 废弃 并不再维护。没有推荐替代包。

Bootstrap 4 动态菜单构建器。

1.1 2018-02-28 12:07 UTC

This package is auto-updated.

Last update: 2020-08-29 07:27:01 UTC


README

简单的动态菜单构建系统。

PHP 框架无关。默认渲染器使用 Bootstrap 3 类名和标记。

安装

composer require anlutro/menu - 选择在 GitHub 标签列表或 Packagist 中可见的最新标签。

Laravel 4

bs4menu\ServiceProvider 添加到 app/config/app.php 中的提供者列表。可选地,添加一个别名 'Menu' => 'bs4menu\Facade'。可以通过外观或通过类型提示进行自动依赖注入来访问菜单构建器实例。

执行 artisan config:publish anlutro/menu 以更改默认的 Bootstrap 3 特定设置。

使用方法

设置一个共享的 Menu.Builder 实例。创建所需的菜单。

$builder = new bs4menu\Builder;
$menu = $builder->createMenu('left');

如果您使用的是 Laravel 4,您可以使用 Menu:: 而不是 $builder->(前提是您已经设置了别名,如上安装说明所示)。

从这里,您可以从任何地方向菜单中添加项目。

$menu->addItem('Item 1', '/my-uri');

// you can add custom html attributes to your items
$menu->addItem('Item 2', '/my-uri', ['class' => 'custom-class']);

// use priorities to push items to the top or bottom of your menu
// items have priority 0 by default.
$menu->addItem('First item', '/my-uri', [], -50);
$menu->addItem('Last item', '/my-uri', [], 50);

添加子菜单的工作方式类似。

$submenu = $menu->addSubmenu('Sub Menu');
$submenu->addItem('Sub item 1', '/my-uri');

当您想渲染菜单时,调用 render($menu) 并输出它。

echo $builder->render('left');

默认情况下,使用 Bootstrap 3 特定类。如果您想使用其他内容,您需要创建自己的 bs4menu\Renderers\RendererInterface 类实现,并执行 $builder->setDefaultRenderer('MyRenderer')$builder->render('name_of_menu', $myRenderer)

联系

如果您有任何问题或建议,请在 GitHub 上提交一个 issue。

许可证

此存储库的内容在 MIT 许可证 下发布。