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...

Nueva web credithousecar.com

Ha sido un placer realizar todo el diseño y la imagen corporativa de credithousecar.com Una web moderna y actual, con un diseño

Más...

Nueva web credithousecar.com

Ha sido un placer realizar todo el diseño y la imagen corporativa de credithousecar.com Una web moderna y actual, con un diseño

Deja un comentario

Ebook Gratis 7 claves para atraer clientes a tu web