madforwebs/menu-bundle

此扩展包为symfony2提供菜单功能

安装: 73

依赖: 0

建议: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master 2018-05-10 19:07 UTC

This package is auto-updated.

Last update: 2024-09-08 16:49:56 UTC


README

MenuBundle 表示在您的Symfony应用程序中实现简单且功能丰富的菜单!

安装

下载扩展包

打开命令行控制台,进入您的项目目录,并执行以下命令以下载此扩展包的最新稳定版本

$ composer require madforwebs/menu-bundle

此命令要求您全局安装Composer,请参阅Composer文档的《安装章节》。

启用扩展包

然后,在您的项目中的app/AppKernel.php文件中添加以下行以启用扩展包

// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...

            new Knp\Bundle\MadForWebs\MenuBundle(),
        );

        // ...
    }

    // ...
}

创建您的第一个菜单

示例构建类可能看起来像这样

<?php

namespace AdminBundle\Menu;

use MadForWebs\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' => [
                                'admin_core_user_admin_[\w]+',
                            ],
                        ],
                        [
                            'name' => 'Clients',
                            'route' => 'admin_core_user_client_list',
                            'active' => [
                                'admin_core_user_client_[\w]+',
                            ],
                        ],
                    ],
                ],                
                [
                    'name' => 'Groups',
                    'route' => 'admin_core_group_list',
                    'icon' => 'fa fa-users',
                    'active' => [
                        'admin_core_group_[\w]+',
                        '_admin.group.[\w\.]',
                    ],
                ],
            ],
        ];
    }
}

渲染

要实际渲染菜单,只需在模板的任何位置执行以下操作

{{ renderMenu('TeacherBundle\\Menu\\MainMenu','sidebar') }}

如果您已将菜单定义为服务,则可以按以下方式渲染

{{ renderMenu('my.menu.service.name','sidebar') }}