Introducción
La personalización de las páginas de error (404 — página no encontrada y 500 — error interno del servidor) en su aplicación puede mejorar la experiencia del usuario en situaciones inesperadas. Esta guía le explicará el proceso de configuración de páginas de error personalizadas en el SonataExtraBundle.
Requisitos previos
Antes de continuar, hay algunos puntos importantes que notar:
- Entorno de desarrollo: Las páginas de error personalizadas no se muestran en el entorno de desarrollo. Para verlas en acción, debe configurar su aplicación en modo de producción.
- Parámetros del entorno: Defínalos en su archivo
.envAPP_ENV=prodyAPP_DEBUG=0. - Sesión de administrador: Asegúrese de no estar conectado como administrador. Se recomienda usar una sesión para el administrador y otra (en navegación privada) para probar las páginas de error.
Pasos de configuración
Paso 1: actualizar la configuración de Sonata Admin
Primero, agregue lo siguiente a su archivo de configuración de SonataPage:
sonata_admin:
catch_exceptions:
not_found: [404]
fatal: [500]
Esta configuración intercepta las excepciones correspondientes y transmite la respuesta a la ruta _page_internal_error_{key}. SonataPage enlaza inteligentemente esto con una página designada.
Paso 2: Decorar las páginas de error
En el panel de administración "Páginas" de Sonata, localice y marque la casilla "decorar".

Verá las opciones Página Error Interno Fatal y Página Error Interno No Encontrada, que son cruciales para los pasos siguientes.
Paso 3: Traducción y personalización
Todos los elementos de las páginas de error son traducibles para cada localidad del sitio.

Después de activar la opción «Decorar», guarde sus cambios y pase al panel «organizar». Aquí, puede personalizar el contenedor principal de su página de error.

Paso 4: Publicación de las páginas personalizadas
El último paso consiste en publicar sus páginas personalizadas. Cree una instantánea de su página haciendo clic en el panel de publicación.

Conclusión
Después de haber completado estos pasos, sus páginas de error personalizadas 404 y 500 deberían estar activas y visibles en modo de producción.

Con esta configuración, asegura una mejor experiencia de usuario incluso en caso de errores en su aplicación.
Receta mínima
Pruebe una URL inexistente y un error de aplicación controlado en el entorno de prueba. La respuesta debe mantener el código HTTP correcto (404 o 500) : mostrar una bonita página con un estado 200 degrada el seguimiento de los incidentes y la indexación.