0

Symfony Widgets 的 id 生成有问题。
(我是 symfony 的新手,所以我可能犯了一些错误。)

我们在工作中使用

$form->render();

渲染一个表单,但这给了我们对表格布局的足够控制。
所以我不得不打破渲染过程并手动构建表格。
我现在正在使用

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

用于渲染单个小部件。

但是对于新的渲染,我的小部件的 ID 是错误的。

该表格用于跟踪单个用户每年完成项目的份额。

旧方法的 id 都采用以下形式

project_<CustomIdforDifferentYears>_<UserId>_share 

但现在我明白了

project_year_member_share

适用于所有领域。

4

1 回答 1

0

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

首先是可以如下指定的表单名称:

$this->widgetSchema->setNameFormat('my_form[%s]');

现在,该表单中的每个小部件的 id 都将以“my_form”为前缀。

其余的来自小部件名称。因此,如果小部件名称是“电子邮件”,则您的小部件的 id 将生成为“my_form_email”。

如果要在模板中指定小部件的 id。您也可以将其作为 render 方法的一部分来执行,该方法接受如下选项数组:

echo $form['email']->render(array('id' => 'my_different_id'));
于 2012-07-28T06:28:11.730 回答