我正在尝试从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 /形式/教义/ sfGuardUserAdminForm.class.php
答案 0 :(得分:2)
它可能使用sfGuardUserAdminForm而不是sfGuardUserForm - 检查调试栏的视图选项卡,它应该告诉你。
此类存在于插件中,因此您应将其子类化在项目的lib / form文件夹下,并将现有的configure方法复制到子类中。
然后,您可以通过编辑gnerator.yml告诉它使用此表单 - 再次,如果您还没有,请将其从插件复制到项目/应用程序的modules文件夹中。您需要更改generator / param / config / form / class。您还需要从表单/显示键中删除字段,否则它们会抱怨它们不存在。
答案 1 :(得分:-2)
这些字段在generator.yml
文件中配置。
但删除那里将无法按预期工作。您需要从schema.yml
,表单和模型类中手动删除这些字段。