소나타 관리, 소나타 사용자 및 포저 사용자가있는 앱이 있습니다. 나는 새 열 및 필드 추가 소나타 관리자에서 관리 파일을 확장해야 : 이제소나타 확장 사용자 정의 묶음 및 사용자 정의 작업
<?php
namespace AppBundle\Admin;
use Sonata\UserBundle\Admin\Model\UserAdmin as SonataUserAdmin;
use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
class UserAdmin extends SonataUserAdmin
{
/**
* {@inheritdoc}
*/
protected function configureFormFields(FormMapper $formMapper)
{
parent::configureFormFields($formMapper);
$formMapper
->with('Others')
->add('company')
->add('locations', 'sonata_type_collection', array(
'required' => false
), array(
'edit' => 'inline',
'inline' => 'table',
'sortable' => 'position',
))
->end()
;
}
// Fields to be shown on filter forms
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
parent::configureDatagridFilters($datagridMapper);
$datagridMapper
->remove('email')
->add('firstname')
->add('lastname')
->add('company.name')
;
}
// Fields to be shown on lists
protected function configureListFields(ListMapper $listMapper)
{
unset($this->listModes['mosaic']);
$listMapper
->add('company.name')
->add('firstname')
->add('lastname')
;
parent::configureListFields($listMapper);
$listMapper->remove('email');
$listMapper->add('_action', 'actions', array(
'actions' => array(
'Invoiced' => array(
'template' => 'AppBundle:User:list__action_invoiced.html.twig'
),
'Credited' => array(
'template' => 'AppBundle:user:list__action_credited.html.twig'
)
)
));
}
protected function configureRoutes(RouteCollection $collection)
{
parent::configureRoutes($collection);
$collection->add('invoiced', $this->getRouterIdParameter().'/invoiced');
$collection->add('credited', $this->getRouterIdParameter().'/credited');
}
}
을, 나는 "신용"새 작업 "청구"하고있는 문제를 가지고 ... Controller "Sonata\AdminBundle\Controller\CRUDController::invoicedAction" for URI "/admin/app/user/1/invoiced" is not callable.
이 구성은 다른 관리자 페이지에서는 작동하지만이 SonataUserAdmin 확장자에서는 작동하지 않습니다. 다른 페이지에서 나는 "Sonata \ AdminBundle \ Admin \ Admin"을 확장하지만 여기에 "Sonata \ UserBundle \ Admin \ Model \ UserAdmin"을 확장하여 fos의 사용자 시스템을 사용해야합니다 ...
나를위한 아이디어 ???
덕분에