antoinemineau/tree-bundle

此 Symfony 扩展将 jsTree 和 Gedmo Nested Set 直接集成到 Sonata Admin

安装次数: 7,482

依赖关系: 0

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 19

语言:Twig

类型:symfony-bundle

dev-master 2024-04-16 14:09 UTC

This package is auto-updated.

Last update: 2024-09-09 08:35:23 UTC


README

此扩展将 jsTreeGedmo Nested Set 直接集成到 Sonata Admin

树以异步方式构建。因此,它非常适合大型树。

安装

安装需求

SonataAdminBundle
- SonataAdminBundle 提供了以下安装文章
https://symfony.com.cn/doc/current/bundles/SonataAdminBundle/index.html

StofDoctrineExtensionsBundle
- 然后您需要安装 StofDoctrineExtensionsBundle
https://symfony.com.cn/doc/master/bundles/StofDoctrineExtensionsBundle/index.html

启用树扩展
- 嵌套行为将在您的实体上实现标准嵌套集行为
https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/tree.md

安装 TreeBundle

通过 composer 安装

composer require redcode/tree-bundle

在您的应用内核中注册此扩展 ./app/AppKernel.php

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            ...
            new RedCode\TreeBundle\RedCodeTreeBundle(),
        );
        ...
    }
}

将以下行添加到路由文件 ./app/config/routing.yml

redcode_tree:
    resource: "@RedCodeTreeBundle/Resources/config/routing.yml"
    prefix:   /admin

对于启用了 Gedmo Nested Set 的实体,请按照以下步骤操作

\RedCode\TreeBundle\Admin\AbstractTreeAdmin 扩展 Admin 类

class SubjectAdmin extends AbstractTreeAdmin
{
...
}

\RedCode\TreeBundle\Controller\TreeAdminController 扩展 AdminController

class SubjectAdminController extends TreeAdminController
{
...
}

当注册 admin 作为服务时,您需要提供一个第四个参数 - 将在树中显示的字段名称。

app.admin.subject:
    class: AppBundle\Admin\SubjectAdmin
    arguments: [~, AppBundle\Entity\Subject, AppBundle:SubjectAdmin, 'word']
    tags:
        - {name: sonata.admin, manager_type: orm, group: Search, label: Subject}

外观如下

redcode/tree-bundle