¿Qué es el Error de Excepción de Smarty en PrestaShop?
El motor de plantillas Smarty es el encargado de compilar y mostrar la interfaz visual de tu tienda en PrestaShop. Cuando se produce una excepción de Smarty, significa que el sistema ha encontrado un fallo crítico en la sintaxis de un archivo .tpl, una variable no definida o un conflicto grave con la caché, lo que suele traducirse en una pantalla de error o una página en blanco.
Causas Principales de la Excepción de Smarty
- Modificación incorrecta de archivos .tpl en el tema activo o en un módulo.
- Caché de Smarty corrupta o desactualizada tras una actualización.
- Incompatibilidad de variables entre la versión de PHP del servidor y el código del tema.
- Ficheros de plantilla faltantes o dañados en el directorio del tema.
Método 1: Vaciar la Caché de PrestaShop y Forzar la Compilación
En la gran mayoría de los casos, la excepción se debe a archivos temporales corruptos en el servidor. Para solucionarlo, sigue estos pasos:
- Accede al panel de administración (Back-Office) de tu PrestaShop.
- Dirígete al menú
Parámetros avanzadosy haz clic enRendimiento. - En la sección superior, busca el apartado Caché y selecciónalo como NO.
- En el campo Compilación de Smarty, cambia la opción a Forzar compilación.
- Haz clic en el botón
Guardaren la esquina superior derecha. - Visita la portada de tu tienda web para regenerar los archivos y comprueba si el error ha desaparecido.
- Regresa al panel de rendimiento y vuelve a activar el caché y selecciona Recompilar las plantillas si los ficheros han sido modificados por motivos de velocidad.
Método 2: Borrar la Caché de Smarty Manualmente vía FTP
Si el error te impide acceder al panel de administración de PrestaShop, deberás limpiar los archivos temporales directamente desde el servidor utilizando un cliente FTP o el Administrador de Archivos de tu Hosting:
- Conéctate a los archivos de tu tienda mediante FTP (usando FileZilla, por ejemplo) o el panel de cPanel.
- Navega hasta la carpeta raíz donde está instalado PrestaShop.
- Entra en el directorio
var/cache/(en versiones antiguas de PrestaShop, esta ruta puede serapp/cache/ocache/smarty/). - Verás carpetas llamadas
prodydev. Entra enprod/smarty/o busca los directorios llamadoscacheycompile. - Selecciona y elimina el contenido interior de las carpetas
cacheycompile(nunca elimines las carpetas principales, solo sus archivos y subcarpetas internos). - Vuelve a cargar tu página web en el navegador para verificar que el error se ha solucionado.
Método 3: Desactivar Módulos Recientes o Cambiar al Tema por Defecto
Si el problema persiste, es probable que un módulo o una modificación reciente en el tema esté generando la excepción de Smarty:
- Si instalaste un módulo recientemente, accede por FTP a la carpeta
modules/y cambia temporalmente el nombre de la carpeta del módulo sospechoso (por ejemplo, denombremoduloanombremodulo_bak). - Si el problema viene de un diseño personalizado, ve a
Diseño > Tema y logotipoen tu administración y activa temporalmente el tema por defecto de PrestaShop (Classic). - Si la tienda vuelve a funcionar con normalidad, revisa el archivo de registro de errores (error_log) de tu servidor para identificar exactamente qué línea de código en el archivo .tpl está causando la excepción.