Editar formulario en EasyAdmin Symfony con Twig

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Modificar un formulario en EasyAdmin con base en Symfony.

En este apartado editaremos un formulario en EasyAdmin, estos formularios suelen crearse automáticamente pero usando Twig podremos adaptarlo a nuestras necesidades.

Primero tenemos que editar la “cabecera” el easy_admin.yaml, normalmente lo encontraremos en /config/packages:

form_theme: #al mismo nivel de tabulado que el menú
 - "vertical"
 - 'form.html.twig' #documento donde modificaremos el formulario

Y en el apartado propiedades de la entidad que deseamos modificar añadimos un type_option y un template:

form:
 title: 'Crear / Editar Productos'
 fields:

  - { property: 'availabilityId', label: 'Id de disponibilidad' , type_options: {block_name: 'custom_title', expanded: true, multiple: true, allow_extra_fields: true, trim: true } , template: 'form.html.twig' }
# Es muy importante indicar el nombre de nuestro fichero twig donde editaremos el formulario.
#Así como darle un block_name diferente de otra propiedad de la entidad.

Ya lo tenemos todo listo para modificar el formulario con Twig

Sacaremos los datos que necesitaremos del DOM en el formulario preestablecido por EasyAdmin:

 {% block _product_custom_title_widget %} 

 {{ dump(form) }} //Recomiedno usar el dump para mira como es la estructura del formulario

    {% block entity_form %} 

     {% set children = form.children %}

      <tableborder="1">

        <tr style="background-color: #dadada;"><td style="width:120px;"align="center">ID</td><td style="width:120px;"style="width:100px;"align="center">NOMBRE</td><td style="width:120px;"align="center">SELECCIONE</td></tr>

        {% for key, value in children %}

            <tr><tdalign="center">{{key}}</td><tdalign="center">{{value.vars.label}}</td><tdalign="center"><inputid="product_availabilityId_{{key}}"name="product[availabilityId][]"value="{{key}}"type="checkbox"></td></tr>
              //es importante marcara las ids como las del formulario original, esto puedes verlo con el dump
        {% endfor %}

      </table>

    {% endblock entity_form %}

 {{ dump() }}//Con este dump podremos ver todos los elementos del DOM

{% endblock %}

Puedes editar tú formulario como quieras y añadir cualquier elemento que creas necesario.

Y eso es todo, espero que os haya sido de utilidad. Cualquier duda o comentario será bienvenida.

Aquí puedes ver otros artículos de interés relacionados:

CKEditor en Symfony 4 con Easy Admin

Como crear cookies en Symfony

Más...

Aplicación Web Indicación Farmacéutica

Programación a medida de una aplicación web para gestión documental de una farmacia. Hemos programado y desarrollado la indicación farmacéutica, base de

1 comentario en “Editar formulario en EasyAdmin Symfony con Twig”

Deja un comentario