3

我正在尝试自定义 sfGuardUser 模块的形式。安装 sfGuardDoctrinePlugin 后,我遵循 Symfony 的级联配置约定并创建了以下结构:

apps/backend/modules/sfGuardUser
apps/backend/modules/sfGuardUser/config
apps/backend/modules/sfGuardUser/config/generator.yml

generator.yml文件中,我尝试按照 这个相关问题官方博客中的这篇文章中的建议覆盖默认插件设置:

发电机:
  类:sfDoctrineGenerator
  参数:
    配置:
      领域:
        名:
          标签: 姓名
        姓:
          标签: 姓氏
        电子邮件地址:
          标签: 电子邮件
        更新地址:
          标签: 最后更新
          日期格式:f
      列表:
        标题:人
        显示:[=用户名、姓名、电子邮件地址、上次登录]
        排序:[用户名,asc]
      筛选:
        显示:[用户名、名字、姓氏、电子邮件地址]
      编辑:
        标题:编辑“%%name%%”
      新的:
        标题:添加新用户
      形式:
        展示:
          “用户”:[first_name、last_name、email_address、username、password、password_again]
          “权限和组”:[is_active,is_super_admin,groups_list]

但是,表单仍然反映默认设置。例如,它仍在显示permissions_list.

此外,如果您尝试通过覆盖 sfGuardUserAdminForm 来取消设置小部件,您会意识到它也不起作用。

我怎样才能避免这种情况并强制执行真正的覆盖?我错过了什么吗?

谢谢!

更新 1 我找到了一种解决方法,即为组分配一个错误值,然后使用我想要的字段设置一个新组:

"User":  [first_name, last_name, email_address, username, password, password_again]
"Permissions and groups":  false
"Status and groups":  [is_active, is_super_admin, groups_list]

更新 2 这是一个记录在案的错误,但似乎核心开发人员没有处理它。这张票包括一个补丁,供像我这样遇到这个问题的人使用。

4

1 回答 1

2

不幸的是,压倒一切的约定并不像您对插件的 generator.yml 所期望的那样工作。最简单的方法是配置插件的generator.yml文件,我就是这样做的。

您还可以将插件的 generator.yml 移动(而不是复制)到您的应用程序/模块。这个线程还有一个有趣的解决方案:http: //oldforum.symfony-project.org/index.php/m/43279/

于 2011-03-16T13:33:19.813 回答