隐藏表单sfDoctrineGuard中的字段

时间:2010-10-15 11:56:45

标签: symfony1 sfdoctrineguard

我正在尝试从sfDoctrineGuard生成的表单中删除一些字段。 我不关心用户的姓名或电子邮件,我只是希望他们拥有用户名和密码。

alt text

我已经尝试编辑/lib/form/doctrine/sfDoctrineGuardPlugin/sfGuardUserForm.class.php:

class sfGuardUserForm extends PluginsfGuardUserForm
{
  public function configure()
  {
    unset(
      $this['first_name'],
      $this['last_name'],
      $this['email_adress']
    );


  }
}

但那没有做任何事。我正在编辑正确的文件吗?

编辑我可以让这些字段消失的唯一方法是编辑/ plugins /目录中的文件!

  

插件/ sfDoctrineGuardPlugin / LIB /形式/教义/ sfGuardUserAdminForm.class.php

2 个答案:

答案 0 :(得分:2)

它可能使用sfGuardUserAdminForm而不是sfGuardUserForm - 检查调试栏的视图选项卡,它应该告诉你。

此类存在于插件中,因此您应将其子类化在项目的lib / form文件夹下,并将现有的configure方法复制到子类中。

然后,您可以通过编辑gnerator.yml告诉它使用此表单 - 再次,如果您还没有,请将其从插件复制到项目/应用程序的modules文件夹中。您需要更改generator / param / config / form / class。您还需要从表单/显示键中删除字段,否则它们会抱怨它们不存在。

答案 1 :(得分:-2)

这些字段在generator.yml文件中配置。 但删除那里将无法按预期工作。您需要从schema.yml,表单和模型类中手动删除这些字段。