Skip to content

sethunath/SonataAdminBundle

Repository files navigation

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

<?phpnamespaceSonata\NewsBundle\Admin; useSonata\AdminBundle\Admin\Admin; useSonata\AdminBundle\Form\FormMapper; useSonata\AdminBundle\Datagrid\DatagridMapper; useSonata\AdminBundle\Datagrid\ListMapper; useSonata\AdminBundle\Show\ShowMapper; class PostAdmin extends Admin{publicfunctionconfigureShowFields(ShowMapper$showMapper){$showMapper ->add('author') ->add('enabled') ->add('title') ->add('abstract') ->add('content') ->add('tags') } publicfunctionconfigureFormFields(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() } publicfunctionconfigureListFields(ListMapper$listMapper){$listMapper ->addIdentifier('title') ->add('author') ->add('enabled') ->add('tags') ->add('commentsEnabled') } publicfunctionconfigureDatagridFilters(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

About

AdminBundle - The missing Symfony2 Admin Generator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP66.0%
  • JavaScript22.9%
  • CSS11.1%