Introducción
Uno de los errores más molestos a los que se enfrentan los administradores de tiendas online es la temida excepción de Smarty en PrestaShop. Este fallo suele interrumpir la visualización de la tienda, mostrando un mensaje de error crítico o una pantalla en blanco que ahuyenta a los clientes potenciales. Afortunadamente, tiene solución si se siguen los pasos adecuados.
¿Cuáles son las causas de la excepción de Smarty?
El motor de plantillas Smarty es el encargado de compilar los archivos .tpl en código PHP ejecutable. Las causas más comunes de una excepción en este sistema son:
- Incompatibilidad de sintaxis en el archivo .tpl modificado recientemente.
- Problemas de permisos en la carpeta de caché de PrestaShop.
- Ficheros de caché corruptos tras una actualización de módulos o del tema gráfico.
- Uso de variables no definidas en el controlador PHP que la plantilla intenta renderizar.
Método 1: Vaciar y limpiar la caché de Smarty manualmente
Cuando la caché de Smarty se corrompe, forzar el vaciado desde el panel de administración suele fallar. Debes hacerlo por FTP o SSH:
- Accede a tu servidor mediante un cliente FTP o el panel de control (cPanel/Plesk).
- Navega hasta la raíz de tu instalación de PrestaShop.
- Entra en el directorio
var/cache/(en versiones antiguas se encuentra encache/smarty/). - Elimina el contenido de las carpetas
devyprod, asegurándote de no borrar los directorios principales. - Recarga tu tienda web para verificar si el error ha desaparecido.
Método 2: Cambiar la configuración de compilación de Smarty
Si estás depurando un error, forzar la recompilación de plantillas te ayudará a identificar el problema exacto:
- Inicia sesión en el panel de administración (Back-Office) de PrestaShop.
- Dirígete al menú lateral y selecciona Parámetros avanzados > Rendimiento.
- Busca la sección denominada Smarty.
- En la opción Forzar compilación, selecciona la casilla de verificación correspondiente.
- En Caché, selecciona No temporalmente.
- Haz clic en el botón Guardar en la esquina superior derecha y limpia la caché nuevamente.
Método 3: Depurar errores en el archivo .tpl afectado
Si el error muestra la ruta exacta de una plantilla, el fallo reside en el código HTML/Smarty:
- Localiza el archivo indicado en el mensaje de error (por ejemplo,
themes/tu-tema/templates/catalog/_partials/product.tpl). - Abre el archivo con un editor de código avanzado como VS Code o Notepad++.
- Revisa la línea exacta que menciona la traza del error en busca de etiquetas mal cerradas, como
{if}sin su correspondiente{/if}, o variables mal llamadas. - Corrige la sintaxis errónea, guarda el archivo y súbelo de nuevo al servidor reemplazando al anterior.