Symfony1 Symfony 1.4表单小部件Id生成工作不正常

Symfony1 Symfony 1.4表单小部件Id生成工作不正常,symfony1,symfony-1.4,Symfony1,Symfony 1.4,我在生成Symfony小部件的id时遇到问题。 (我是symfony的新手,所以可能犯了一些错误。) 在工作中,我们使用 $form->render(); 来呈现表单,但这使我们无法充分控制表格布局。 因此,我不得不中断渲染过程,手工构建表格。 我现在正在使用 $Form['<cellname>']->render(); 对于所有字段。Symfony会根据一些事情自动生成小部件的id 首先是表单名称,可按如下方式指定: $this->widgetSchema-&

我在生成Symfony小部件的id时遇到问题。
(我是symfony的新手,所以可能犯了一些错误。)

在工作中,我们使用

$form->render();
来呈现表单,但这使我们无法充分控制表格布局。
因此,我不得不中断渲染过程,手工构建表格。
我现在正在使用

$Form['<cellname>']->render();

对于所有字段。

Symfony会根据一些事情自动生成小部件的id

首先是表单名称,可按如下方式指定:

$this->widgetSchema->setNameFormat('my_form[%s]');
现在,该表单中每个小部件的id都将以“my_form”作为前缀

其余部分来自小部件名称。因此,如果widget名称为“email”,您的widget的id将生成为“my_form_email”

如果要在模板中指定小部件的id。您也可以在render方法中执行此操作,render方法接受一系列选项,如下所示:

echo $form['email']->render(array('id' => 'my_different_id'));

非常感谢-我知道这些id是如何组合在一起的,我只是不明白为什么在渲染整个表单或单个字段时会得到不同的id
$this->widgetSchema->setNameFormat('my_form[%s]');
echo $form['email']->render(array('id' => 'my_different_id'));