Subir varias imágenes en un formulario embebido

360 views
Skip to first unread message

Eloy González Andueza

unread,
Sep 18, 2013, 6:13:43 AM9/18/13
to symfo...@googlegroups.com
Buenos días.
Tengo un problema y es que no sé como subir varios archivos en un formulario embebido.
Tengo dos entidates Entidad Servicio y Entidad Imagen
El formulario de Imagen está embebido en el formulario Servicio.
Funciona perfectamente pero lo que no sé es como guardar las imágenes
El código completo está en https://gist.github.com/eloygonzalez/6607117

Los formularios son los siguientes:
Formulario Servicio
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('titulo')
->add('texto')
->add('metaTitulo')
->add('metaDescripcion')
->add('metaPalabras')
->add('publicado')
->add('fotos','collection',array(
'type' =>new ImagenType(),
'allow_add'=>true,
'allow_delete'=>true,
'by_reference' => false, ))
);
}
 
Formulario Imagen
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nombre')
->add('ruta','file',array('required'=>false))
->add('activa')
;
}

El problema es que no sé como guardar las imágenes en el controlador
$entity = new Servicio();
$form = $this->createCreateForm($entity);

$form->handleRequest($request);

if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();

$em->persist($entity);
$em->flush();
}

Un saludo y gracias

Carlos Beato

unread,
Sep 19, 2013, 1:55:05 AM9/19/13
to symfo...@googlegroups.com
yo  guardaría el path y el nombre del fichero en $entity->ruta con la funcion $entity->foto->getPathname() de la clase
Symfony\Component\HttpFoundation\File\File. en cierta manera te sobra el campo imagen

Eloy González Andueza

unread,
Sep 19, 2013, 11:40:54 AM9/19/13
to symfo...@googlegroups.com
Gracias pero no me sirve, el problema que el formulario de Imagen está embebido dentro del formulario Servicio y claro no puedo acceder a la imagen cuando se guarda el formulario


  $builder
            ->add('titulo')
            ->add('texto')     
            ->add('metaTitulo')
            ->add('metaDescripcion')
            ->add('metaPalabras')
            ->add('publicado')          
            ->add('fotos','collection',array(
                'type' =>new ImagenType(),                   
                'allow_add'=>true,
                'allow_delete'=>true,
                'by_reference' => false,              
            ))
           
         
           );
   
Gracias


El 19 de septiembre de 2013 07:55, Carlos Beato <carlosbe...@gmail.com> escribió:
yo  guardaría el path y el nombre del fichero en $entity->ruta con la funcion $entity->foto->getPathname() de la clase
Symfony\Component\HttpFoundation\File\File. en cierta manera te sobra el campo imagen

--
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+...@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es
 
---
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a symfony-es+...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Eloy González Andueza

unread,
Sep 20, 2013, 5:43:26 AM9/20/13
to symfo...@googlegroups.com
Ya lo he solucionado, el problema era que se me había olvidado poner enctype="multipar/form-data" en el formulario.
Por si le sirve a alguien dejo el código  de cómo subir múltiples imágenes en un formulario embebido  en https://gist.github.com/eloygonzalez/6607117 , falta las validaciones y alguna cosa más, cuando tenga tiempo lo subo ya refactorizado y corregido
Gracias

Carlos Beato

unread,
Sep 23, 2013, 4:19:24 PM9/23/13
to symfo...@googlegroups.com

Ha sido genial. He cogido tu idea ... La he desarrollado un poco y el caso es que embeber un formulario en un campo da para mucho... Gracias

Eloy González Andueza

unread,
Sep 24, 2013, 6:51:04 AM9/24/13
to symfo...@googlegroups.com
Hola Carlos:
Del código que subí hay que modificar varias cosas para que funcione correctamente ya que he cambiado cosas para que se pueda editar las imágenes y se puedan subir y borrar. Cuando lo termine y lo corrija lo volveré a subir para compartirlo con todos
Un saludo
Reply all
Reply to author
Forward
0 new messages