我正在尝试修改User
实体的默认管理员。
实际上只需要从表单中删除某些字段。
我想这个文档在可用时会对我有用。
现在我已经创建了这个管理员并尝试覆盖默认管理员User
。
应用程序/应用程序/奏鸣曲/UserBundle/Admin/Model/UserAdmin.php
namespace Application\Sonata\UserBundle\Admin\Model;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Show\ShowMapper;
use Sonata\UserBundle\Admin\Model\UserAdmin as BaseType;
class UserAdmin extends BaseType
{
/**
* {@inheritdoc}
*/
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('username')
->add('groups')
->add('enabled')
;
}
/**
* {@inheritdoc}
*/
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->with('General')
->add('username')
->add('email')
->add('plainPassword', 'text', array('required' => false))
->end()
->with('Groups')
->add('groups', 'sonata_type_model', array('required' => false))
->end()
->with('Profile')
->add('firstname', null, array('required' => false))
->add('lastname', null, array('required' => false))
->end()
;
}
/**
* {@inheritdoc}
*/
public function preUpdate($user)
{
$this->getUserManager()->updateCanonicalFields($user);
$this->getUserManager()->updatePassword($user);
}
/**
* @return UserManagerInterface
*/
public function getUserManager()
{
return $this->userManager;
}
}
应用程序/配置/config.yml
services:
sonata.admin.extension:
class: Application\Sonata\UserBundle\Admin\Model\UserAdmin
tags:
- { name: sonata.admin.extension, target: sonata.user.admin.user }
arguments: [null, Sonata\UserBundle\Entity\User, SonataUserBundle:UserAdmin]
但我越来越
无法导入资源“/var/www/Symfony/app/config/。” 来自“/var/www/Symfony/app/config/routing.yml”。
...
ErrorException:可捕获的致命错误:传递给 Sonata\AdminBundle\Admin\Admin::addExtension() 的参数 1 必须是 Sonata\AdminBundle\Admin\AdminExtensionInterface 的实例,Application\Sonata\UserBundle\Admin\Model\ 的实例给定的 UserAdmin,在第 3139 行的 /var/www/Symfony/app/cache/dev/appDevDebugProjectContainer.php 中调用,并在第 2359 行的 /var/www/Symfony/vendor/bundles/Sonata/AdminBundle/Admin/Admin.php 中定义
我究竟做错了什么 ?