desarrolla2 / menu-bundle
此包为symfony2提供菜单包
1.0.0
2021-08-31 20:25 UTC
Requires
- symfony/framework-bundle: ^4.0
README
MenuBundle
意味着在您的Symfony应用程序中实现简单且功能丰富的菜单!
安装
下载包
打开命令行,进入您的项目目录,然后执行以下命令以下载此包的最新稳定版本
$ composer require desarrolla2/menu-bundle
此命令需要您全局安装Composer,如Composer文档的“安装章节”中所述。
启用包
然后,通过在您的项目中的app/AppKernel.php
文件中添加以下行来启用包
// app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Knp\Bundle\Desarrolla2\MenuBundle(), ); // ... } // ... }
创建您的第一个菜单
一个示例构建器类看起来像这样
<?php namespace AdminBundle\Menu; use Desarrolla2\MenuBundle\Menu\MenuInterface; class MainMenu implements MenuInterface { public function getMenu() { return [ 'class' => 'sidebar-menu', 'items' => [ [ 'name' => 'Users', 'icon' => 'fa fa-user', 'items' => [ [ 'name' => 'Admins', 'route' => 'admin_core_user_admin_list', 'active_routes' => [ 'admin_core_user_admin_[\w]+', ], ], [ 'name' => 'Clients', 'route' => 'admin_core_user_client_list', 'active_routes' => [ 'admin_core_user_client_[\w]+', ], ], ], ], [ 'name' => 'Groups', 'route' => 'admin_core_group_list', 'icon' => 'fa fa-users', 'active_routes' => [ 'admin_core_group_[\w]+', '_admin.group.[\w\.]', ], ], ], ]; } }
渲染
要实际渲染菜单,只需在模板的任何位置执行以下操作
{{ renderMenu('TeacherBundle\\Menu\\MainMenu','sidebar') }}
如果您已将菜单定义为服务,则可以按如下方式渲染
{{ renderMenu('my.menu.service.name','sidebar') }}