anlutro/menu

动态菜单构建器。

0.6.2 2015-11-12 13:58 UTC

This package is auto-updated.

Last update: 2024-09-24 08:54:53 UTC


README

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

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

安装

composer require anlutro/menu - 选择 github 标签列表或 packagist 上可见的最新标签。

Laravel 4

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

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

用法

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

$builder = new anlutro\Menu\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 特定类。如果您想使用其他内容,您需要创建自己的 anlutro\Menu\Renderers\RendererInterface 类实现,并执行 $builder->setDefaultRenderer('MyRenderer')$builder->render('name_of_menu', $myRenderer)

联系

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

许可

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