mukulu / admin-bundle
Symfony SonataAdminBundle
2.0.x-dev
2012-09-22 10:22 UTC
Requires
- php: >=5.3.2
- knplabs/knp-menu-bundle: 1.1.*
- mukulu/block-bundle: 2.0.*
- sonata-project/exporter: dev-master
- sonata-project/jquery-bundle: dev-master
- symfony/framework-bundle: 2.0.*
- symfony/security-bundle: 2.0.*
- symfony/symfony: 2.0.*
Requires (Dev)
Suggests
- sonata-project/doctrine-orm-admin-bundle: 2.0.*
- sonata-project/intl-bundle: dev-master
This package is not auto-updated.
Last update: 2024-09-28 14:12:04 UTC
README
该组件的在线文档位于 http://sonata-project.org/bundles/admin
演示网站可在 http://demo.sonata-project.org/admin/dashboard 找到(管理员用户名和密码)
要为文档做出贡献,您可以在 Resources/doc 中找到。
注意:文档文件在 Github 中(reStructuredText 格式)渲染不正确,某些内容可能损坏或隐藏,请确保阅读原始文件。
注意:该组件已拆分为4个组件
- SonataAdminBundle : 当前组件,包含核心库和服务
- SonataDoctrineORMAdminBundle : 将管理组件集成到 Doctrine ORM 项目中
- SonataDoctrineMongoDBAdminBundle : 将管理组件集成到 MongoDB 中(早期阶段)
- SonataDoctrinePhpcrAdminBundle : 将管理组件集成到 PHPCR 中(早期阶段)
Google Groups:对于问题和建议,您可以在此 Google Groups 中发布
- Sonata Users:仅用于用户问题
- Sonata Devs:仅用于开发者
快速示例
定义一个 Admin
类非常简单:只需定义 configure[Show|Form|List|Datagrid]Fields
方法
<?php namespace Sonata\NewsBundle\Admin; use Sonata\AdminBundle\Admin\Admin; use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Datagrid\DatagridMapper; use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Show\ShowMapper; class PostAdmin extends Admin { public function configureShowFields(ShowMapper $showMapper) { $showMapper ->add('author') ->add('enabled') ->add('title') ->add('abstract') ->add('content') ->add('tags') ; } public function configureFormFields(FormMapper $formMapper) { $formMapper ->with('General') ->add('enabled', null, array('required' => false)) ->add('author', 'sonata_type_model', array(), array('edit' => 'list')) ->add('title') ->add('abstract') ->add('content') ->end() ->with('Tags') ->add('tags', 'sonata_type_model', array('expanded' => true)) ->end() ->with('Options', array('collapsed' => true)) ->add('commentsCloseAt') ->add('commentsEnabled', null, array('required' => false)) ->end() ; } public function configureListFields(ListMapper $listMapper) { $listMapper ->addIdentifier('title') ->add('author') ->add('enabled') ->add('tags') ->add('commentsEnabled') ; } public function configureDatagridFilters(DatagridMapper $datagridMapper) { $datagridMapper ->add('title') ->add('enabled') ->add('tags', null, array('filter_field_options' => array('expanded' => true, 'multiple' => true))) ; } }
截图:http://www.dropbox.com/gallery/581816/2/BaseApplicationBundle/preview?h=59b2e8
当然,高级用户会感到高兴,因为 Admin
类非常灵活,因为所有依赖项都由 DIC(依赖注入容器)注入。
功能
-
仪表板
-
列表
- 自动排序
- 链接到相关管理员(帖子 => 用户)
- 自定义模板
- 行操作:编辑、查看等
- 批量操作
- 聪明的行可视化:布尔值以“复选图片”表示
- 筛选器
- 分页
-
编辑/创建
- 内联编辑
- 关联管理(使用加号创建相关模型)
- 分组字段
- 可排序选项
- 选择模型的模态窗口(当列表很重要时)
- 在 [one|many]-to-many 关联上动态表单(添加新元素)
-
模板化
- 基本模板(字段、列表、筛选器)可以被覆盖
- 布局模板可以在服务容器中定义
-
其他
- 嵌套管理员,即 /news/post/5/comment/list:仅筛选和创建 ID 为 5 的帖子评论
- 上下文面包屑
- 在管理员之间持久化参数
- 侧边菜单选项
- 已翻译成 17 种语言:CA、DE、EN、ES、FR、HR、IT、JA、LB、NL、PL、PT_BR、PT_PT、RU、SK、SL 和 UK。
- 易于扩展
- 命令行实用工具说明
用法示例
- SonataMediaBundle:一个媒体管理组件
- SonataNewsBundle:新闻/博客组件
- SonataPageBundle:页面(CMS类似)组件
- SonataUserBundle:FOSUserBundle和SonataAdminBundle的集成
待办事项
- 创建ODM版本
- 保存筛选条件
- 导出列表