|
před 13 roky | |
---|---|---|
Admin | před 13 roky | |
Block | před 13 roky | |
Builder | před 13 roky | |
Command | před 13 roky | |
Controller | před 13 roky | |
Datagrid | před 13 roky | |
DependencyInjection | před 13 roky | |
Exception | před 13 roky | |
Export | před 13 roky | |
Filter | před 13 roky | |
Form | před 13 roky | |
Guesser | před 13 roky | |
Model | před 13 roky | |
Resources | před 13 roky | |
Route | před 13 roky | |
Security | před 13 roky | |
Show | před 13 roky | |
Tests | před 13 roky | |
Translator | před 13 roky | |
Twig | před 13 roky | |
Util | před 13 roky | |
Validator | před 13 roky | |
.gitignore | před 13 roky | |
.travis.yml | před 13 roky | |
CHANGELOG.md | před 13 roky | |
CREDITS | před 14 roky | |
LICENSE | před 14 roky | |
README.md | před 13 roky | |
SonataAdminBundle.php | před 13 roky | |
build.xml | před 13 roky | |
composer.json | před 13 roky | |
phpunit.xml.dist | před 13 roky |
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
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).
Dashboard
List
Edit/Create
Templating
Others