¿Qué es una Excepción de Smarty en PrestaShop?
El motor de plantillas Smarty es el encargado de procesar la interfaz gráfica de tu tienda online en PrestaShop. Cuando ocurre una excepción de Smarty, por lo general verás una pantalla blanca o un mensaje críptico indicando un fallo en la compilación o en la sintaxis de un archivo .tpl. Esto suele suceder tras actualizar un módulo, modificar la plantilla (theme) o por problemas de caché.
Causas Principales del Error de Smarty
- Errores de sintaxis en archivos de plantilla personalizados (.tpl).
- Archivos de caché de Smarty corruptos o desactualizados.
- Incompatibilidad de versiones de PHP con el motor de plantillas.
- Falta de permisos de escritura en la carpeta de caché del servidor.
Método 1: Vaciar la Caché de Smarty desde el Backoffice
La forma más rápida y segura de solucionar problemas menores en las plantillas es limpiar la caché directamente desde el panel de administración de tu tienda.
- Inicia sesión en tu panel de administración de PrestaShop.
- Dirígete al menú lateral y selecciona
Parámetros avanzados>Rendimiento. - En la parte superior derecha, haz clic en el botón
Borrar la caché. - Recarga tu tienda en una pestaña de incógnito para verificar si el error ha desaparecido.
Método 2: Limpieza Manual de Caché vía FTP o SSH
Si el error te impide acceder al backoffice (pantalla blanca total), deberás eliminar los archivos de caché directamente desde el servidor.
- Accede a tu servidor mediante un cliente FTP (como FileZilla) o el Administrador de Archivos de tu hosting.
- Navega hasta la ruta raíz de tu instalación de PrestaShop.
- Entra a la carpeta
var/cache/(en versiones antiguas de PrestaShop la ruta escache/smarty/). - Elimina el contenido de las carpetas
prodydev(o los directorios internos de caché de smarty). - Vuelve a cargar tu sitio web para forzar a PrestaShop a generar nuevas plantillas compiladas limpias.
Método 3: Activar el Modo Debug para Identificar el Archivo TPL Dañado
Si el error persiste, necesitas conocer exactamente qué archivo está provocando la excepción.
- Accede a los archivos de tu tienda por FTP y abre el archivo
config/defines.inc.php(en versiones 1.7/8 buscaapp/config/parameters.php). - Cambia el valor de
_PS_MODE_DEV_defalseatrue. - Guarda los cambios y recarga la página del error en tu navegador.
- Ahora verás un informe detallado de la traza (stack trace) que indica el archivo
.tplexacto y la línea de código que causa el fallo para que puedas corregirlo o reemplazarlo.