vincet/admin-bundle

该包已被废弃,不再维护。未建议替代包。

Symfony VinceTAdminBundle

安装: 685

依赖者: 2

建议者: 0

安全: 0

星标: 2

关注者: 3

分支: 1

开放问题: 0

语言:JavaScript

类型:symfony-bundle

dev-master / 2.2.x-dev 2013-09-15 13:42 UTC

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。它添加了新功能(添加分隔符、导航标题等)