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:

https://garberinformatica.com/blog/2018/05/12/ckeditor-en-symfony-4-con-easy-admin/

https://garberinformatica.com/blog/2018/06/04/como-crear-cookies-en-symfony/

Más...

Programación web en Alicante

Programación Web en Alicante

En los días que corren, la dinámica en Internet domina muchas áreas de la vida de los ciudadanos en todas partes del

Ventajas WordPress

Ventajas de usar WordPress

¿Tienes dudas de las ventajas de utilizar WordPress para tu proyecto? ¿No piensas que sea el sistema ideal para llevarlo a cabo?

Más...

Programación web en Alicante

Programación Web en Alicante

En los días que corren, la dinámica en Internet domina muchas áreas de la vida de los ciudadanos en todas partes del

Ventajas WordPress

Ventajas de usar WordPress

¿Tienes dudas de las ventajas de utilizar WordPress para tu proyecto? ¿No piensas que sea el sistema ideal para llevarlo a cabo?

Deja un comentario