Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] Campos vacíos en formularios embebido "collection"

Estas en el tema de Campos vacíos en formularios embebido "collection" en el foro de Symfony en Foros del Web. Aqui saludandolos otrevez Alguno sabrá como pintar inputs vacíos de los formularios embebidos?. Es decir, cuando embebes un formulario dentro de otro con Type "collection" ...
  #1 (permalink)  
Antiguo 31/03/2014, 18:44
 
Fecha de Ingreso: febrero-2014
Ubicación: Edo. México
Mensajes: 85
Antigüedad: 10 años, 2 meses
Puntos: 0
Campos vacíos en formularios embebido "collection"

Aqui saludandolos otrevez

Alguno sabrá como pintar inputs vacíos de los formularios embebidos?.
Es decir, cuando embebes un formulario dentro de otro con Type "collection" no aparece ningún campo si no hay ningún dato en el formulario embebido y para agregar nuevos datos hay que hacer uso de Jquery para insertar el nuevo formulario. Hay forma de decirle al $builder que pinte almenos 1 formulario embebido por default?

Saludos
  #2 (permalink)  
Antiguo 01/04/2014, 16:58
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Campos vacíos en formularios embebido "collection"

Lo puedes hacer en el controlador antes de crear la Forma o con un event subscriber o event listener en la forma.
Ejemplo:
Código PHP:
Ver original
  1. $entity = new Perfil();
  2.  
  3. if($entity->getActividades()->isEmpty())
  4. {
  5.     $entity->addActividade(new Actividad());
  6. }
  7.  
  8. $form   = $this->createCreateForm($entity);

Con el Event Listener:
Código PHP:
Ver original
  1. $builder->addEventListener(
  2.             FormEvents::PRE_SET_DATA,
  3.             function(FormEvent $event){
  4.  
  5.                 $entity = $event->getData();
  6.                 $form = $event->getForm();
  7.  
  8.  
  9.                 if($entity->getActividades()->isEmpty()){
  10.                     $entity->addActividade(new Actividad());
  11.                 }
  12.  
  13.                 $event->setData($entity);
  14.         });

Y en el controlador solo llamas al builder
Código PHP:
Ver original
  1. $entity = new Perfil();
  2. $form = $this->createCreateForm($entity);
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 01/04/2014, 17:25
 
Fecha de Ingreso: febrero-2014
Ubicación: Edo. México
Mensajes: 85
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Campos vacíos en formularios embebido "collection"

Gracias hhs justo lo que necesitaba ^^

Etiquetas: campos, embebido, form, formularios, frameworks-y-php-orientado-a-objetos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:03.