Pie*_*NAY 5 symfony-forms symfony symfony-sonata sonata-admin
我试图覆盖SonataUser/Admin/Model/UserAdmin's,configureFormFields()因为我需要从管理表单中删除一些默认字段.所以我vendor/bundles/Sonata/UserBundle/Admin/Model/UserAdmin.php在我的包中复制了文件app/Application/Sonata/UserBundle/Admin/Model/UserAdmin.php并对其进行了修改.然后将其声明为服务:
# app/application/Sonata/UserBundle/Resources/config/services.yml
services:
application_user.registration.form.type:
class: Application\Sonata\UserBundle\Admin\Model\UserAdmin
arguments: [%sonata_user.model.user.class%]
tags:
- { name: form.type, alias: application_user_admin }
Run Code Online (Sandbox Code Playgroud)
现在问题:我做对了吗?我如何告诉sonata管理员使用它?
Aur*_*nas 16
覆盖类应该在config.yml中设置:
# app/config/config.yml
sonata_user:
admin:
user:
class: MyCompany\UserBundle\Admin\Model\UserAdmin
Run Code Online (Sandbox Code Playgroud)
扩展原始UserAdmin:
namespace MyCompany\UserBundle\Admin\Model;
use Sonata\AdminBundle\Form\FormMapper;
class UserAdmin extends \Sonata\UserBundle\Admin\Model\UserAdmin
{
protected function configureFormFields(FormMapper $formMapper)
{
// new logic
}
}
Run Code Online (Sandbox Code Playgroud)
当然更改类名称MyCompany\UserBundle\Admin\Model\UserAdmin以反映您的包结构.
| 归档时间: |
|
| 查看次数: |
5503 次 |
| 最近记录: |