0

我正在开发一个 symfony 1.4 项目,并试图在后端表单中添加一个自定义字段。目前,我的模块有一个批处理历史记录,其中包含每行的编辑和删除选项以及一个允许用户过滤它的表单。我想添加一个自定义创建表单,我正在努力做到这一点。

  • 进入/*model_name*/new/页面确实显示了一个表单:这是我想要更改的表单。

  • 我想在此页面上显示来自另一个表(和模型)的元素的下拉列表。知道当前模块widgetSchema没有这种关系,我怎么能做到这一点?

  • 我应该编辑generator.yml吗?当我尝试添加一个title:to 时new:,它似乎不会影响/new/页面(即使在缓存:清除之后)。

4

2 回答 2

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

这样,生成器使用的表单将是您指定的表单。也许你不需要修改其他东西。

于 2013-07-09T10:11:33.973 回答
0

如果您在 schema.yml 中创建该关系会更容易。您生成的表单将能够呈现您想要的小部件。

否则,您需要做的是通过添加所需的小部件和验证器来编辑 *model_name*Form 类(在您的情况下为 sfWidgetFormDoctrineChoice 和 sfValidatorDoctrineChoice)

generator.yml 默认使用 *model_name*Form 类的形式,但我建议你将这个类复制到你在模块中创建的 lib 文件夹中,然后编辑这个类。然后,您编辑您的 generator.yml 以使用这个新表单,您就是这样做的

此外,请确保您的关系表中没有太多行。否则,symfony 会尝试生成一个带有很多选项的 html 选择标签,你需要杀死你的 php 甚至 webserver 进程。

于 2013-07-15T13:22:33.573 回答