我试图自定义表单中生成的表单标签。Symfony2:自定义表单集合中的表单标签
我想显示包含在特定游戏星期的足球赛事,如下所示:
- Fixture 1 : Manchester United (0) - (1) Arsenal - Fixture 2 : Chelsea (2) - (1) Liverpool - ...
我的形式显示了所有灯具及相关成绩,但所有标签包含数据库列名(score1,score2 )。我想替换球队名称。 所以,目前显示:
- Fixture 1 : score1 (0) - (1) score2 - Fixture 2 : score1 (2) - (1) score2 - ...
在控制器方面,我产生了一周形式(WeekType)。 $ week包含使用$ week-> getFixtures()的星期数据和灯具数据。
控制器/ DefaultController.php
$form = $this->createForm(new WeekType(), $week)->createView();
return array(
'form' => $form,
);
窗体/ WeekType.php
class WeekType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('fixtures', 'collection', array(
'type' => new FixtureType(),
));
}
}
夹具形式增加了2个字段。我想将默认标签替换为团队名称。 但是我无法访问这种形式的灯具数据。 $ options是NULL。我认为$ options ['data']将包含灯具数据......但我错了。
表/ FixtureType.php
class FixtureType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('score1', 'text', array('label' => **WHAT TO PUT HERE**));
$builder->add('score2', 'text', array('label' => **WHAT TO PUT HERE**));
}
}
我显示使用此代码的所有灯具,它的伟大工程。
index.html.twig
{% for fixture in week.form.fixtures %}
{{ form_widget(fixture) }}
{% endfor %}
也许我可以直接定制我的标签在index.html.twig,但我怎么能得到灯具数据?
有人遇到此问题并解决它吗?