Alt formlarda oluşturulan form etiketlerini özelleştirmeye çalışıyorum.Symfony2: form koleksiyonlarındaki form etiketlerini özelleştirme
aşağıdaki gibi belirli bir oyun haftası içinde bulunan futbol armatürleri, görüntülemek istediğiniz:
- Fixture 1 : Manchester United (0) - (1) Arsenal - Fixture 2 : Chelsea (2) - (1) Liverpool - ...
Benim formu görüntüler
tüm eşyalar ve ilgili skorları ancak tüm etiketler veritabanı sütun adları (ve Skor1, Skor2 içerirler). Bunun yerine takım isimlerini koymak istiyorum. nedenle, şu anda gösterilmektedir: denetleyicisi- Fixture 1 : score1 (0) - (1) score2 - Fixture 2 : score1 (2) - (1) score2 - ..., bir hafta form (WeekType) üretir. $ hafta hafta içi $> getFixtures() kullanarak hafta verileri ve fikstür verileri içerir.
Kontrolör/DefaultController.php
$form = $this->createForm(new WeekType(), $week)->createView();
return array(
'form' => $form,
);
Formu/WeekType.php
class WeekType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('fixtures', 'collection', array(
'type' => new FixtureType(),
));
}
}
Armatür formu 2 alan ekler. Varsayılan etiketleri takım isimleriyle değiştirmek istiyorum. Ancak bu formdaki fikstür verilerine erişemiyorum. $ seçenekler NULL. $ Options ['data'] fikstür verileri içereceğini düşündüm ... ama yanılmışım.
Formu/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**));
}
}
Bu kodu kullanarak tüm demirbaşlar görüntüler ve harika çalışıyor.
{% for fixture in week.form.fixtures %}
{{ form_widget(fixture) }}
{% endfor %}
index.html.twig
Belki index.html.twig doğrudan Etiketlerime özelleştirmek olabilir ama nasıl fikstürler veri alabilirim?
Birisi bu sorunla karşılaşır ve giderir mi?