Pie*_*NAY 6 php symfony symfony-sonata sonata-admin
我正在尝试修改User实体的默认管理员.
只需要从表单中删除某些字段.
我想这个文档对我来说将是有用的.
现在我已创建此管理员并尝试覆盖默认管理员User.
应用程序/应用/索纳塔/ UserBundle /管理/型号/ 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;
}
}
Run Code Online (Sandbox Code Playgroud)
应用程序/配置/ 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]
Run Code Online (Sandbox Code Playgroud)
但我得到了
无法导入资源"/ var/www/Symfony/app/config /." 来自"/var/www/Symfony/app/config/routing.yml".
...
ErrorException:Catchable致命错误:传递给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中调用,并在/var/www/Symfony/vendor/bundles/Sonata/AdminBundle/Admin/Admin.php第2359行中定义
我究竟做错了什么 ?
更改服务定义中的标签
tags:
- { name: sonata.admin, manager_type: orm, group: some.menu, label: User }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5514 次 |
| 最近记录: |