설명 없음

David Buchmann b1ec7ff40b adjust admin to use the url safe id 13 년 전
Admin b1ec7ff40b adjust admin to use the url safe id 13 년 전
Block c23e0ca311 Update Block/AdminListBlockService.php 13 년 전
Builder d0f8e2fda3 Distinct field building and adding action for ListBuilder. 13 년 전
Command df2df5064d Fix some CS 13 년 전
Controller 8cdd772ae4 Fix keyname 13 년 전
Datagrid b9cc7f2b71 Merge remote branch 'origin/2.0' 13 년 전
DependencyInjection cd7c39eb6d Refactor template methods, add delete template key 13 년 전
Exception 5b75b51303 Refactoring of NoValueException 13 년 전
Export e1b1f67612 Add StreamResponse support for export command 13 년 전
Filter 55bdddb315 merged 2.0 13 년 전
Form 39f00e1bb4 Fix BooleanType and TranslatableType to use proper Form inheritance (getParent) 13 년 전
Guesser 4c9bff8a46 Fix CS 13 년 전
Model 060876795d adding getUrlsafeIdentifier to ModelManagerInterface to properly distinguish id and id safe for use in database 13 년 전
Resources 20d5e4a659 Update to twitter bootstrap 2.1 13 년 전
Route 4c9bff8a46 Fix CS 13 년 전
Security 55bdddb315 merged 2.0 13 년 전
Show df2df5064d Fix some CS 13 년 전
Tests c93f7921ff Add branch alias to composer.json file 13 년 전
Translator 4c9bff8a46 Fix CS 13 년 전
Twig df2df5064d Fix some CS 13 년 전
Util 902b9ef9ff Fix Form Component 13 년 전
Validator ff1c009da8 Merge remote branch 'origin/2.0' 13 년 전
.gitignore 106e96a94d fixed merging bugs 13 년 전
.travis.yml 44006a5956 Update travis file 13 년 전
CHANGELOG.md cd7c39eb6d Refactor template methods, add delete template key 13 년 전
CREDITS e0e3e92a69 update README, add missing type 14 년 전
LICENSE 5b24344281 add jquery.form.js to allows file upload from a modal window 14 년 전
README.md 116f800b79 Link to demo website 13 년 전
SonataAdminBundle.php 59285d5b29 Fix some CS 13 년 전
UPGRADE-2.1.md c8a1b417f2 revert back to KnpMenuBundle 1.1.* (ie. revert 33a7649afa51a009a8849de46e79cc600fc5dba3) 13 년 전
build.xml 6c44a03ce4 Move 'jms/translation-bundle' composer dependency into dev requirements 13 년 전
composer.json c93f7921ff Add branch alias to composer.json file 13 년 전
phpunit.xml.dist c30bd9426d Add build process for jenkins integration 13 년 전

README.md

SonataAdminBundle - The missing Symfony2 Admin Generator

Build Status

The online documentation of the bundle is in http://sonata-project.org/bundles/admin

The demo website can be found in http://demo.sonata-project.org/admin/dashboard (admin as user and password)

For contribution to the documentation you can find it on Resources/doc.

Warning: documentation files are not rendering correctly in Github (reStructuredText format) and some content might be broken or hidden, make sure to read raw files.

Warning: The bundle has been split into 4 bundles :

Google Groups: For questions and proposals you can post on this google groups

Quick example

Defining an Admin class is pretty easy: simply define configure[Show|Form|List|Datagrid]Fields methods

<?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)))
        ;
    }
}

Screenshots : http://www.dropbox.com/gallery/581816/2/BaseApplicationBundle/preview?h=59b2e8

Of course, power users will be happy as an Admin class is very flexible as all dependencies are injected by the DIC (dependency injection container).

Features

  • Dashboard

  • List

    • Automatic sort
    • Link to associated admin (Post => User)
    • Custom templates
    • Row Action : edit, view, ...
    • Batch Action
    • Clever row visualisation : boolean values are represented with 'check picture'
    • Filter
    • Pagination
  • Edit/Create

    • Inline edition
    • Association management (create related model with + icon)
    • Group fields
    • Sortable option
    • Modal window to select model (when the list can be important)
    • Dynamic form on [one|many]-to-many association (add new element)
  • Templating

    • base templates (field, list, filter) can be overwritten
    • layout templates can be defined into the Service Container
  • Others

    • Nested Admin, ie /news/post/5/comment/list : filter and create comments only for the post with id=5
    • Contextual Breadcrumb
    • persistent parameters across an Admin
    • side menu option
    • Translated into 17 languages : CA, DE, EN, ES, FR, HR, IT, JA, LB, NL, PL, PT_BR, PT_PT, RU, SK, SL and UK.
    • Built to be extended
    • Explain command line utility

Usage examples

TODO

  • create the ODM version
  • save filter criteria
  • export list