¿Qué es el error de Exception Smarty en PrestaShop?
El motor de plantillas Smarty es el encargado de compilar y mostrar la interfaz gráfica de tu tienda en PrestaShop. Cuando se produce un error del tipo SmartyException, significa que el sistema no ha podido interpretar correctamente un archivo de la plantilla (.tpl), ya sea debido a una sintaxis incorrecta, problemas de caché o archivos dañados durante una actualización.
Causas principales del error Smarty
- Modificaciones recientes en los archivos .tpl del tema activo.
- Caché de Smarty corrupta en el servidor.
- Incompatibilidad de módulos de terceros con la versión actual de PrestaShop.
- Ficheros faltantes o con permisos incorrectos en la carpeta de themes.
Método 1: Vaciar la caché de PrestaShop y Smarty manualmente
En la mayoría de los casos, eliminar los archivos de caché acumulados resuelve el conflicto de inmediato.
- Accede a tu servidor mediante un cliente FTP o el Administrador de Archivos de tu Hosting.
- Navega hasta el directorio raíz de tu tienda PrestaShop.
- Entra a la carpeta
var/cache/(en versiones 1.7 y 8.x) ocache/smarty/(en versiones 1.6). - Elimina el contenido de las carpetas
prodydev(o los directorios internos de caché). - Vuelve a tu panel de administración (Back-Office) en Parámetros Avanzados > Rendimiento y vacía la caché desde el botón superior.
Método 2: Activar el Modo Debug para identificar el archivo causante
Para saber exactamente qué línea de código está rompiendo Smarty, debes activar el modo de depuración.
- Accede por FTP a tu tienda y localiza el archivo
config/define.inc.phposrc/PrestaShopBundle/Controller/Admin/Configure/AdvancedParameters/PerformanceController.phpsegún tu versión, o edítalo desde el archivoconfig/config.inc.php. - Cambia el valor de
_PS_MODE_DEV_defalseatrue:define('_PS_MODE_DEV_', true);. - Recarga la página de tu tienda online donde aparecía el error y ahora verás un stack trace detallado indicando el archivo .tpl exacto y el número de línea con el fallo.
Método 3: Corregir la sintaxis o restaurar la plantilla
Una vez identificado el archivo gracias al Modo Debug:
- Edita el archivo .tpl afectado utilizando un editor de código como VS Code.
- Revisa si hay etiquetas de Smarty mal cerradas, por ejemplo:
{if ...}sin su correspondiente{/if}. - Si recientemente instalaste un módulo, desactívalo temporalmente renombrando su carpeta en
modules/vía FTP para comprobar si el error desaparece.