vincet / admin-bundle
该包已被废弃,不再维护。未建议替代包。
Symfony VinceTAdminBundle
dev-master / 2.2.x-dev
2013-09-15 13:42 UTC
Requires
- php: >=5.3.2
This package is auto-updated.
Last update: 2023-07-27 08:49:06 UTC
README
此包扩展了 SonataAdminBundle 并允许从其他包管理菜单。
查看 如何安装和配置
管理菜单
SonataAdminBundle 的主菜单(在所有管理员页面顶部)是通过管理员对象列表生成的。
此包扩展了菜单,允许每个人修改此菜单。
管理员菜单是通过 KnpMenu 库生成的。默认情况下,它检索所有管理员组和标签“管理员”(类似于默认菜单渲染器)。
要修改管理员菜单,只需创建一个监听器
namespace VinceT\TestBundle\EventListener; class MenuListener { public function createMenu($event) { $menu = $event->getMenu(); // create a new groupe $menu->addChild('System', array('translationDomain'=>'MyDomain')); // move user to System group $users = $menu->pop('sonata_user'); $menu['System']->addChild($users); // add a divider to System group $menu['System']->addDivider(); // ad a nav header $menu['System']->addNavHeader('Informations'); // add About child $menu['System']->addChild('About', array('uri'=>'#')); // add children to About $menu['System']['About']->addChild('Symfony', array('uri'=>'https://symfony.com.cn')); $menu['System']['About']->addChild( 'SonataAdminBundle', array( 'uri'=>'http://sonata-project.org/bundles/admin/master/doc/index.html' ) ); $menu['System']['About']->addChild('VinceTAdminBundle', array('uri'=>'')); } }
然后在您的 services.yml 文件中声明监听器。
services: kernel.listener.admin_menu_listener: class: VinceT\TestBundle\EventListener\MenuListener tags: - { name: kernel.event_listener, event: admin.menu.create, method: createMenu }
此包使用自定义的 MenuItem 类 VinceT\AdminBundle\Menu\MenuItem,它扩展了 Knp\Menu\MenuItem。它添加了新功能(添加分隔符、导航标题等)