我试图重写SonataUser/Admin/Model/UserAdmin
的configureFormFields()
,因为我需要从管理表单中删除一些默认的领域。 所以我在束app/Application/Sonata/UserBundle/Admin/Model/UserAdmin.php
复制的文件vendor/bundles/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 }
现在的问题: 我做对吗?我如何告诉奏鸣曲管理员使用它?
其实我用[SonataEasyExtends](http://sonata-project.org/bundles/easy-extends/master/doc/index.html)来扩展SonataUser Bundle(正如在[docs](http: //sonata-project.org/bundles/user/2-0/doc/reference/introduction.html)),它会自动创建扩展束的结构。它默认使用'/ app/Application',因为它总是在SonataUser文档中被提及。 – 2012-07-10 13:28:09
如果您不指定参数,则会在app/Application/Sonata中生成文件...但您可以使用--dest = src指定路径。我已经更新了我的答案。 – Mick 2012-07-10 13:30:19
我看到了(我故意保留它,因为它们仍然在文档中使用此路径,稍后我可能会移动它)。问题更多的是如何告诉奏鸣曲使用我的新的管理类。 – 2012-07-10 13:40:02