Muy buenas tardes, antes que nada agradecer el trabajo que hacen, mi problema es el siguiente: Estoy trabajando con Symfony3, tengo una base de datos con obras pendientes, ejecutando y finalizadas, me gustaría mostrar todos los registros de las obras que se están ejecutando y mostrar el mismo formulario para cada registro. Ahora mismo muestro los registros pero el formulario solo se ve en la primera fila. Si me pudieran orientar en como encontrar la solución se lo agradecería, muchas gracias.
Saludos.
Respuestas
No acabo de entender el problema que sucede:
- ¿Quieres reutilizar el mismo formulario para tres entidades diferentes?
- ¿Quieres mostrar el mismo formulario tres veces en la misma página?
- ¿Quieres mostrar una colección de elementos utilizando el mismo formulario?
@javiereguiluz
Perdón, lo que quiero es mostrar el mismo formulario las veces que hagan falta en la misma página.
{% for obra in obras %} {% if obra.estado == 'Ejecutando' %} {{form_start(form, {'action':'', 'method':'POST','attr': {'class': '','id':''} } ) }} <tr> <td id="{{obra.cliente}}">{{obra.cliente}}</td> <td>{{form_errors(form.operario)}} {{form_widget(form.operario)}}</td> <td>{{form_errors(form.dia)}} {{form_widget(form.dia)}}</td> <td>{{form_errors(form.total)}} {{form_widget(form.total)}}</td> <td><button id="btsubmit" type="submit" name="" class="btn btn-default button-form">Añadir</button></td> </tr> {{ form_end(form) }} {% endif %} {% endfor %}
@Rube101
En este issue del repositorio de Symfony hablan de lo mismo y ya ves que le recomiendan no hacerlo. También le sugieren usar el método createNamed()
(también puedes usar createNamedBuilder()
).
Mi opinión personal sería que plantearas el problema de otra forma en vez de mostrar el mismo formulario N veces. Puedes añadir algún campo en el formulario que te permita distinguir qué tipo de formulario estás trabajando en cada momento. Además, con un poco de JavaScript puedes ocultar/mostrar campos en función del tipo que sea.
@javiereguiluz
De acuerdo, intentaré plantearlo de otra forma, muchas gracias.
@Rube101
¿Y por que no los llamas por ajax cuando lo necesites? Haces un action que te renderice el Form y la asocias a un botón y con eso ya lo tienes.
@TsubasaAkai