我正在研究symfony 1.4项目,并尝试以后端形式添加自定义字段。目前,我的模块有一个批处理历史记录,其中包含每行的编辑和删除选项以及允许用户对其进行过滤的表单。我想添加一个自定义创建表单,我正在努力做到这一点。
继续/*model_name*/new/
页面会向我显示一个表单:这是我想要更改的表单。
我想在此页面上显示另一个表(和模型)中元素的下拉列表。我怎么能知道当前模块的widgetSchema
没有这种关系呢?
我应该编辑 generator.yml 吗?当我尝试将title:
添加到new:
时,它似乎不会影响/new/
页面(即使在缓存:清除之后)。
答案 0 :(得分:0)
是的,您需要修改 generator.yml ,但是在表单行:
# apps/backend/modules/whatever/config/generator.yml
config:
...
form:
display:
Whatever...
这里有一些例子。摘自官方文件:
http://symfony.com/legacy/doc/jobeet/1_4/en/12?orm=Doctrine#chapter_12_form_views_configuration
这样,生成器使用的表单将是您指定的表单。也许你不需要修改别的东西。
答案 1 :(得分:0)
如果在schema.yml中创建该关系会更容易。您生成的表单将能够呈现您想要的小部件。
否则,您需要做的是通过添加所需的小部件和验证器来编辑* model_name * Form类(在您的情况下为sfWidgetFormDoctrineChoice和sfValidatorDoctrineChoice)
默认情况下,generator.yml使用* model_name * Form类的形式,但我建议您在模块中创建的lib文件夹中复制此类,然后编辑此类。然后,编辑generator.yml以使用此新表单this is how you do it
另外,请确保关系表中没有多少行。否则,symfony会尝试生成一个包含很多选项的html选择标记,你需要杀死你的php甚至是webserver进程。