Mostrar modal con información dinámica

133 views
Skip to first unread message

Lázaro Evidio Echemendia López

unread,
Dec 19, 2020, 9:40:40 AM12/19/20
to symfony-es
Hola, tengo una tabla que muestro a través de DataTaable y quisiera que al presional un boton de acción "Editar", me muestre un Modal con la información de correspondiente a un Id específico, quisiera saber si hay algo en Symfony similar a  ActionLink.

De antemano muchas gracias

Adrian

unread,
Dec 19, 2020, 4:47:52 PM12/19/20
to symfo...@googlegroups.com
Datatables tiene esa opcion, esto es lo que necesitas?


El 19 dic. 2020, a la(s) 11:40, Lázaro Evidio Echemendia López <echeme...@gmail.com> escribió:

Hola, tengo una tabla que muestro a través de DataTaable y quisiera que al presional un boton de acción "Editar", me muestre un Modal con la información de correspondiente a un Id específico, quisiera saber si hay algo en Symfony similar a  ActionLink.

De antemano muchas gracias

--
--
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 cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a symfony-es+...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/symfony-es/8406da92-3ff2-4681-8885-572e7016671fn%40googlegroups.com.

Adrian

unread,
Dec 19, 2020, 4:54:27 PM12/19/20
to symfo...@googlegroups.com
Por otro lado, symfony no tiene nada de front end, solo mandas la pagina completa y el resto ocurre en el navegador del usuario.  Si queres podes usar angular o lo que necesites. Incluso poder hacer una llamada ajax para guarda y mostar los datos. Todo depende de lo que necesites.

El 19 dic. 2020, a la(s) 18:47, Adrian <macthe...@gmail.com> escribió:



Jesús Clemente Gallart

unread,
Dec 20, 2020, 1:40:45 AM12/20/20
to symfony-es
Buenos días
Yo te recomiendo en la tabla utilizar el botón para una llamada a JavaScript. 
En la ventana modal, pones el formulario con la los datos de la fila donde estaba el botón y la muestras. 
-> En la acción del formulario pones la ruta "name" del controlador en la acción de editar. con {id} del registro. Por ejemplo

En el controlador deberás leer los datos del fomulario y como no es de la clase FROM de Symfony, deberás implementar la lógica de validación. Por ejemplo 

    /**
     * @Route("/actualizar/{ficha}", name="actualiza_ficha", methods={"GET","POST"})
     */
    public function actualizaFichaAction(Request $request, Ficha $ficha): Response
    {
        // Añade la lógica de validación

        // Asigna datos
            $ficha->setCampo1($request->request->get("campo1"));
            $ficha->setCampo2($request->request->get("campo2"));
            ....
        // Guarda datos
            $entityManager = $this->getDoctrine()->getManager();
            $entityManager->flush();
         // Volvemos a la lista
            return $this->redirectToRoute('ficha_index');
    }

La parte de Javascript es simple, seleccionar el registro por el id del tr y leer los datos de la fila de la tabla volcándolos en los campos del formulario del modal cambiando la propiedad value. o creando desde cero el formulario.

Espero haberte ayudado.

Daniel Morfa Vega

unread,
Dec 20, 2020, 10:34:15 AM12/20/20
to symfo...@googlegroups.com
Estoy casi seguro que Modal tiene una funcionalidad de cargar en su contenido una URL mediante una llamada ajax, agrega en la url a llamar la ruta del CRUD que edita el elemento, así utilitarias los, formularios de Symfony y las validaciones en la vista del editar debes eliminar todas las herencias de "base" o "layout" dejando solamente la impresión del Form. 

Lázaro Evidio Echemendia López

unread,
Dec 20, 2020, 12:09:42 PM12/20/20
to symfony-es
Muchas gracias colegas, logré realizar lo que deseaba y todo funciona perfecto.
Reply all
Reply to author
Forward
0 new messages