mukulu/admin-bundle

Symfony SonataAdminBundle

安装: 1

依赖项: 0

建议者: 0

安全: 0

星星: 0

观察者: 2

Forks: 1,261

类型:symfony-bundle

2.0.x-dev 2012-09-22 10:22 UTC

This package is not auto-updated.

Last update: 2024-09-28 14:12:04 UTC


README

Build Status

该组件的在线文档位于 http://sonata-project.org/bundles/admin

演示网站可在 http://demo.sonata-project.org/admin/dashboard 找到(管理员用户名和密码)

要为文档做出贡献,您可以在 Resources/doc 中找到。

注意:文档文件在 Github 中(reStructuredText 格式)渲染不正确,某些内容可能损坏或隐藏,请确保阅读原始文件。

注意:该组件已拆分为4个组件

Google Groups:对于问题和建议,您可以在此 Google Groups 中发布

快速示例

定义一个 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。
    • 易于扩展
    • 命令行实用工具说明

用法示例

待办事项

  • 创建ODM版本
  • 保存筛选条件
  • 导出列表