Без опису

Thomas Rabaix b8a7ae58ce Add an orm independant MergeCollectionListener 14 роки тому
Admin e44feceb42 Fix filter binding, clean up some codes 14 роки тому
Builder e44feceb42 Fix filter binding, clean up some codes 14 роки тому
Command 56ad599cb8 fix the Explain command 14 роки тому
Controller 95ad431536 Restore the deleted feature on one to many 14 роки тому
Datagrid b8a7ae58ce Add an orm independant MergeCollectionListener 14 роки тому
DependencyInjection 736aae0c85 rename prefix 'sonata_admin' => 'sonata.admin', move services declaration to xml files 14 роки тому
Filter e44feceb42 Fix filter binding, clean up some codes 14 роки тому
Form b8a7ae58ce Add an orm independant MergeCollectionListener 14 роки тому
Model b8a7ae58ce Add an orm independant MergeCollectionListener 14 роки тому
Resources df2ecf88d7 fix block management in the main layout 14 роки тому
Route 960104e28e fix CS 14 роки тому
Tests b0df44f989 add more Interfaces, add ModelManager to abstract the persistency layer 14 роки тому
Twig e44feceb42 Fix filter binding, clean up some codes 14 роки тому
.gitignore 6c6fb91c23 update documentation 14 роки тому
CHANGES e44feceb42 Fix filter binding, clean up some codes 14 роки тому
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 56ad599cb8 fix the Explain command 14 роки тому
SonataAdminBundle.php a17cae0341 The admin classes are now non shared service defined in the DIC 14 роки тому
phpunit.xml.dist 51fb49c0ca update references from BaseApplicationBundle to AdminBundle 14 роки тому

README.md

AdminBundle - The missing Symfony2 Admin Generator

Quick example

Defining an Admin class is pretty easy: simply define fields as properties

class PostAdmin extends Admin
{
    protected $form = array(
        'author' => array('edit' => 'list'),
        'enabled' => array('form_field_options' => array('required' => false)),
        'title',
        'abstract',
        'content',
        'tags'     => array('form_field_options' => array('expanded' => true)),
        'commentsCloseAt',
        'commentsEnabled' => array('form_field_options' => array('required' => false)),
    );

    protected $list = array(
        'title' => array('identifier' => true),
        'author',
        'enabled',
        'commentsEnabled',
    );

    protected $filter = array(
        'title',
        'author',
        'enabled',
    );
}

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

More information

You need to go to the Ressources/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