【问题标题】:Symfony: customizing sfDoctrineGuardPlugin modulesSymfony:自定义 sfDoctrineGuardPlugin 模块
【发布时间】:2011-03-16 11:08:19
【问题描述】:

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

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

generator.yml 文件中,我尝试按照建议覆盖默认插件设置 this related question 和这个post in the official blog

发电机: 类: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 我找到了一种解决方法,即为组分配一个 false 值,然后使用我想要的字段设置一个新组:

"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 这是documented bug,但似乎核心开发人员没有处理它。票中包含一个补丁,供像我这样遇到此问题的人使用。

【问题讨论】:

    标签: symfony1 customization generator sfdoctrineguard


    【解决方案1】:

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

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

    【讨论】:

    • 修改插件generator.yml 的问题是,在以后的插件更新中更改将消失。移动它似乎是一个危害较小的操作,因为随着未来的更新,您将有两个 generator.yml 合并。不过,虽然有用,但它似乎不是一个优雅的解决方案
    • 年份,我知道。 symfony 2.0 在这方面会更好,采用“一切都是插件(包)”的方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多