Aucune description

Thomas 9feafa61c7 Merge pull request #232 from stof/template il y a 14 ans
Admin 728907beac Fix nested admin il y a 14 ans
Builder 224acf185d Update documentation, remove obsolete code, fix bugs il y a 14 ans
Command 1cc5803d2e changed $this->container to $this->getContainer() il y a 14 ans
Controller ec25c1d068 refactor a bit the render method il y a 14 ans
Datagrid 3896ed5c24 Fixed the phpdoc for the mappers to make the fluent api friendly with IDEs il y a 14 ans
DependencyInjection e84824afeb Implements List/Show/Filter guesser il y a 14 ans
Filter 3efab485ba Fix filter bug on empty value il y a 14 ans
Form 3896ed5c24 Fixed the phpdoc for the mappers to make the fluent api friendly with IDEs il y a 14 ans
Guesser 224acf185d Update documentation, remove obsolete code, fix bugs il y a 14 ans
Model 224acf185d Update documentation, remove obsolete code, fix bugs il y a 14 ans
Resources 9feafa61c7 Merge pull request #232 from stof/template il y a 14 ans
Route 807e164dbe Add check for route existance, add unit test il y a 14 ans
Security 6b2e10a4b4 Refactor the show action, rename view => show, fix bug and missing implementation il y a 14 ans
Show 3896ed5c24 Fixed the phpdoc for the mappers to make the fluent api friendly with IDEs il y a 14 ans
Tests 807e164dbe Add check for route existance, add unit test il y a 14 ans
Twig 6b2e10a4b4 Refactor the show action, rename view => show, fix bug and missing implementation il y a 14 ans
Util 0dc07aea65 Initial form refactoring il y a 14 ans
Validator 80a7bd9a40 Improve the ErrorElement class il y a 14 ans
.gitignore f5c060c3ac Updated translations to be aligned to english translations il y a 14 ans
CHANGES 224acf185d Update documentation, remove obsolete code, fix bugs il y a 14 ans
CREDITS e0e3e92a69 update README, add missing type il y a 14 ans
LICENSE 5b24344281 add jquery.form.js to allows file upload from a modal window il y a 14 ans
README.md 224acf185d Update documentation, remove obsolete code, fix bugs il y a 14 ans
SonataAdminBundle.php e84824afeb Implements List/Show/Filter guesser il y a 14 ans
phpunit.xml.dist 51fb49c0ca update references from BaseApplicationBundle to AdminBundle il y a 14 ans

README.md

SonataAdminBundle - The missing Symfony2 Admin Generator

There is online documentation here:

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.

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 12 languages : DE, EN, ES, FR, IT, JA, NL, PL, PT_BR, PT_PT, RU and UK.
    • Built to be extended
    • Explain command line utility

More information

There is online documentation here:

If you want to contribute to this documentation, you need to go to the Resources/doc folder where the reStructuredText documentation is available. Please note the Github preview might break and hide some content.

Usage examples

TODO

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