antoinemineau / tree-bundle
此 Symfony 扩展将 jsTree 和 Gedmo Nested Set 直接集成到 Sonata Admin
Requires
- php: >=5.6.0
- sonata-project/admin-bundle: ^4
- stof/doctrine-extensions-bundle: ^1.2
Requires (Dev)
- fabpot/php-cs-fixer: ^1.10
- phpunit/phpunit: ^4.8
- satooshi/php-coveralls: ^0.6.1
This package is auto-updated.
Last update: 2024-09-09 08:35:23 UTC
README
此扩展将 jsTree 和 Gedmo 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}