Ho un'estensione a questa domanda: How to deal with Form Collection on Symfony2 Beta? - Il mio progetto è simile, ma gli oggetti sono nidificati più in profondità. Ho articoli che hanno uno o più elementi di contenuto, ognuno dei quali contiene uno o più media. Il modello e i controller stanno funzionando bene finora, ma non so come rappresentare correttamente il nesting nel mio modello. Form/ContentType.php sembra tutto a posto:Come gestire più raccolte di moduli annidate in Symfony 2.0?
class ContentType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('headline')
->add('text')
->add('medias', 'collection', array(
'type' => new MediaType(),
'allow_add' => true
))
;
}
E finora, il modello di modulo per la creazione (o la modifica) un articolo simile a questo (modello auto-generata quasi vaniglia):
...
<form action="{{ path('article_create') }}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
{% for content in form.contents %}
{{ form_widget(content) }}
{% endfor %}
<p>
<button type="submit">Create</button>
</p>
</form>
...
Come accedere a ciascun contenuto multimediale in modo che vengano associati correttamente?
Grazie per la risposta! In realtà, ci sono già stato, ma non sono del tutto chiaro su come aggiungere e rimuovere in modo pulito e dinamico elementi di contenuto e media usando i prototipi generati del campo di forma. La mia soluzione finora è quella di aggiungere n elementi di contenuto vuoti, ciascuno contenente m elementi multimediali vuoti. Ciò limita il numero di contenuti e media che posso aggiungere. Preferirei utilizzare la prototipazione integrata per aggiungere in modo dinamico elementi di contenuto, ma non so come aggiungere dinamicamente i media associati. –