mukulu / admin-bundle
Symfony SonataAdminBundle
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1 255
Type:symfony-bundle
Requires
- php: >=5.3.2
- knplabs/knp-menu-bundle: 1.1.*
- mukulu/block-bundle: 2.0.*
- sonata-project/exporter: dev-master
- sonata-project/jquery-bundle: dev-master
- symfony/framework-bundle: 2.0.*
- symfony/security-bundle: 2.0.*
- symfony/symfony: 2.0.*
Requires (Dev)
Suggests
- sonata-project/doctrine-orm-admin-bundle: 2.0.*
- sonata-project/intl-bundle: dev-master
This package is not auto-updated.
Last update: 2025-03-01 16:18:42 UTC
README
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 :
- SonataAdminBundle : the current one, contains core libraries and services
- SonataDoctrineORMAdminBundle : Integrates the admin bundle into with the Doctrine ORM project
- SonataDoctrineMongoDBAdminBundle : Integrates the admin bundle into with MongoDB (early stage)
- SonataDoctrinePhpcrAdminBundle : Integrates the admin bundle into with PHPCR (early stage)
Google Groups: For questions and proposals you can post on this google groups
- Sonata Users: Only for user questions
- Sonata Devs: Only for devs
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
- SonataMediaBundle : a media manager bundle
- SonataNewsBundle : a news/blog bundle
- SonataPageBundle : a page (CMS like) bundle
- SonataUserBundle : integration of FOSUserBundle and SonataAdminBundle
TODO
- create the ODM version
- save filter criteria
- export list