自定义symfony自动生成的表单

时间:2010-02-18 09:45:29

标签: php doctrine symfony-1.4

我正在尝试在symfony中使用自动生成的表单,但我很难找到有关自定义的最新文章。其中一个最重要的事情是 - 来自/更新几个表的查询。

具体来说,例如:我使用的是表tblMain和自动生成的类 tblMainForm 。但是,列 ForeignKey 引用 tblAdditionalTable id 列。我的自动生成表单会显示带有 id 数字的 html select 。我真正需要的是显然来自 AdditionalTable 的特定列的适当值,而不仅仅是id。除此之外我不需要选择,而是定制ajax组合框;这样用户就可以输入自己的价值;而这又将存储在tblAdditionalTable中。

简而言之,是否有一种简单的方法可以自定义这样的表单(文章链接最受欢迎)?或者也许最好编写我自己的symfony表单处理类而不是使用Doctrine的那个?

1 个答案:

答案 0 :(得分:2)

您需要注意的是更改选择框的小部件。

在tblMainForm配置方法中,您可以更改小部件,如下所示:

$this->setWidget("foreign_key_id", new sfWidgetFormJQueryAutocomplete());

查看http://www.symfony-project.org/plugins/sfFormExtraPlugin了解一些额外的小部件。

此部分还详细介绍了如何自定义symfony生成的表单

http://www.symfony-project.org/jobeet/1_4/Doctrine/en/10#chapter_10_sub_customizing_the_job_form