Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Crear formulario a partir de un array

21 de septiembre de 2015

Hola y de antemano muchas gracias.

Tengo un array de elementos (no utilizo ningún modelo) y quiero generar un único formulario cuyos datos sean los mismos por cada fila.

Por ejemplo:

$productos = array [
  0 => [
    "id" => 2,
    "name" => "coche"
  ],
  1 => [
    "id" => 3,
    "name" => "bicicleta"
  ],
  2 => [
    "id" => 3,
    "name" => "bus"
  ]
]

Dado el anterior array quiero construir un formulario que por cada fila muestre un elemento del array:

| input id | input name |
 
| input id | input name |
 
| input id | input name |

¿Como podría hacerlo? He probado con

$builder = $this->createFormBuilder();
foreach ($productos as $item) {
    $builder->add($item['quantity']);
}
$form = $builder->getForm();
 
//Luego muestro el 'form' => $form->createView(),

Con esto al ejecutar en twig la función {{ form_widget(form) }} me funciona, pero quiero poder utilizar el form_row y así poner cada elemento en el lugar que desee de la plantilla pero esta parte me da error.

¿Alguna idea? ¿Hay alguna otra manera de solucionar?

Muchas gracias!!


Respuestas

#1

Acabo de solucionar el problema de no poder visualizar en el lugar correspondiente el campo. Quedaría así: {{ form_row(form[key]) }}

De todas formas, me gustaría saber si hay alguna forma adecuada para hacerlo mejor. Gracias

@JuanluGarciaB

21 septiembre 2015, 20:26