Sonata Admin: el calendario no se cierra

Escenario

Incluir un filtro de rango de fechas en SonataAdmin que use un calendario para seleccionar la fecha es más o menos fácil. Primero añadimos el siguiente bloque en el admin de nuestra entidad: Y la siguiente clave bajo form_themesen el fichero config/packages/twig.yaml:

Problema

El calendario no se cierra automáticamente cuando se selecciona una fecha. Hay que pinchar fuera de la ventana para que desaparezca. Lo cual es un incordio para el pobre usuario.

Solución

Como no podía ser de otra manera, debemos sobreescribir la plantilla que muestra el calendario. Copiamos vendor/sonata-project/form-extensions/src/Bridge/Symfony/Resources/views/Form/datepicker.html.twig en Acme/templates/Form/datepicker.html.twig, nos quedamos con el bloque que nos intersa ( sonata_type_datetime_range_script_block), extendemos el fichero original y añadimos la dos líneas que cierran el calendario cuando se selecciona la fecha: Por último modificamos form_themesen el fichero config/packages/twig.yaml para que use nuestra plantilla:

Publicaciones Similares

  • Disco corrupto en nas4Free

    Escenario Tengo un servidor para mis copias de seguridad que usa el gestor nas4Free, basado en FreeBSD 9.3. Problema Tras un corte inesperado del suministro eléctrico, la máquina no vuelve a arrancar. Se muestra este error por pantalla: /dev/ada4s2 contains a file system with errors, check forced /dev/ada4s2 directory inode 7561250, block #1 offset 2008…

  • Instalación symfony 4 en ubuntu 16.04

    Objetivo Desplegar en un servidor corriendo Ubuntu 16.04* una aplicación de Symfony 4. Requisitos git PHP => 7.1.3 composer nginx Instalación PHP La versión de PHP mantenida en Ubuntu 16.04 es 7.0 y no está previsto que se actualice. Estos son los pasos para instalarla: Como siempre, antes que nada debemos actualizar Ubuntu: $ sudo apt-get update && sudo apt-get upgrade Lo…

  • |

    Gestión de imágenes corruptas

    Escenario Nos encontramos ante una biblioteca de decenas de miles de archivos fotográficos, de los cuales un porcentaje considerable está corrupto. Objetivo Depurar las imágenes corruptas a fin de organizar como es debido nuestra biblioteca. Solución Nota: sólo aplicable a sistemas linux Vamos a necesitar la aplicación ImageMagick: $sudo apt-get install imagemagick y rsync, que debería venir instalado…

  • Panasonic RR-US361

    Escenario Panasonic RR-US361 es una grabadora portátil de audio que, por la información que he podido recopilar, debe datar de principios de siglo. La utilizo de vez en cuando para grabar mis sueños. Me resulta más cómodo que el móvil por dos razones. Evito la luz de la pantalla, y no corro el riesgo de…

  • Chart.js: cómo cambiar el idioma (locale) dinámicamente

    Escenario Por un lado una aplicación que permite al usuario personalizar el idioma del sitio. Por otro, una gráfica de tipo línea temporal generada con la biblioteca Chart.js, integrada en un módulo de React con react-chartjs-2. Problema Según un comentario de un usuario de Stackoverflow, basta con un require('moment/min/moment-with-locales'); y establecer el valor de la…

  • TemplateInputException

    Escenario Lo habré hecho centenares de veces. Desarrollo en local, pruebas y despliegue en remoto. Según el entorno en el que esté corriendo la aplicación, ésta podrá requerir una configuración distinta. Por ejemplo en un entorno de desarrollo querremos tener el caché deshabilitado o el nivel de los registros más bajo que en uno de…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *