Коллекция форм и form_widgets в symfony

У меня есть такая фотоформа:

PhotoType.php

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('title');

И я вставляю эту форму в коллекцию форм:

PhotoCollectionType.php

 public function buildForm(FormBuilderInterface $builder, array $options)
    {
      $builder->add('photos', 'collection', array(
        'type'         => new PhotoType($this->securityContext,  $this->id),
        'allow_add'    => true,
        'allow_delete' => true
      ))
      ->add('save',      'submit');

Как я могу получить титул form_widget в одиночку?

Я пробовал это:

{{ form(formCollection) }} -> works but not what i want
{{ form_widget(formCollection.title) }} -> no work
{{ form_widget(formCollection.photo.title) }} -> nop
{{ form_widget(formCollection.photos.title) }} -> oh wait !! .. no.
{{ form_widget(title) }} -> lol no.

Ошибка

Method "title" for object "Symfony\Component\Form\FormView" does not exist 

edit: О, и я должен сказать, что форма создается с помощью js, для allow_add allow_delete


person oligan    schedule 17.11.2014    source источник


Ответы (1)


{% for photo in form.photos %}
    {{ form_widget(photo.title) }}
{% endfor %}

это ты ищешь?

person xurshid29    schedule 17.11.2014
comment
При генерации javascript вам приходится иметь дело с атрибутом data-prototype, так что это немного сложнее, я следовал этому ответу stackoverflow.com/a/ 17875399/3876501 с макросом ветки. но ваш ответ направил меня, поэтому я даю вам свое благословение - person oligan; 18.11.2014