我正在尝试自定义在子表单中生成的表单标签.
我想显示特定游戏周中包含的足球装备,如下所示:
- 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(),)); } }
Fixture表单添加了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',array('label' => **WHAT TO PUT HERE**)); } }
index.html.twig
{% for fixture in week.form.fixtures %} {{ form_widget(fixture) }} {% endfor %}
也许我可以直接在index.html.twig中自定义我的标签,但是如何获得灯具数据呢?
有人遇到这个问题并解决它吗?