anlutro / menu
动态菜单构建器。
0.6.2
2015-11-12 13:58 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- mockery/mockery: 0.9.*
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 许可 下发布。