0

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

替代文字

我试过编辑 /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/form/doctrine/sfGuardUserAdminForm.class.php

4

2 回答 2

2

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

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

然后,您可以通过编辑 gnerator.yml 来告诉它使用此表单 - 如果您还没有,再次将其从插件复制到您的项目/应用程序的模块文件夹中。您需要更改生成器/参数/配置/表单/类。如果它们存在,您还需要从表单/显示键中删除字段,否则会抱怨它们不存在。

于 2010-10-15T15:16:09.003 回答
-2

这些字段在generator.yml文件中配置。但是删除那里不会像您预期的那样工作。您需要从schema.yml、 form- 和 model 类中手动删除这些字段。

于 2010-10-15T12:16:51.710 回答