我試圖自定義表單中生成的表單標籤。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,但我怎麼能得到燈具數據?
有人遇到此問題並解決它嗎?