Introducción a las excepciones de Smarty en PrestaShop
Uno de los problemas más frustrantes a los que se enfrentan los administradores de tiendas online es la aparición repentina de una excepción de Smarty. Este error suele bloquear tanto el front-office como el back-office, mostrando un mensaje técnico críptico en lugar de tu página web. Smarty es el motor de plantillas que utiliza PrestaShop para separar la lógica de programación del diseño visual, y cuando hay un fallo en la compilación de archivos .tpl, el sistema se detiene por seguridad.
Causas principales del error de Smarty
- Archivos de caché corruptos en la carpeta
var/cacheotools/smarty/cache. - Modificaciones erróneas en los archivos de la plantilla (tema activo).
- Incompatibilidad de versiones de PHP con la versión del módulo o del tema instalado.
- Problemas de permisos de escritura en los directorios del servidor.
Método 1: Borrar la caché de Smarty manualmente
La forma más rápida y efectiva de solucionar este problema es limpiar los archivos temporales y la caché de compilación.
- Accede a tu servidor mediante un cliente FTP o utilizando el Administrador de Archivos de tu cPanel.
- Navega hasta la raíz de tu instalación de PrestaShop.
- Entra en la carpeta
var/cache/(en versiones más antiguas buscacache/smarty/). - Elimina el contenido de las carpetas
devyprod(o los directorios internos de caché). No borres las carpetas principales, solo su contenido. - Recarga tu tienda web en el navegador para comprobar si el error ha desaparecido.
Método 2: Desactivar la compilación de Smarty desde la Base de Datos
Si el error te impide acceder al panel de administración (Back Office), puedes modificar el comportamiento de Smarty directamente desde la base de datos usando phpMyAdmin.
- Entra en phpMyAdmin desde tu panel de alojamiento web (cPanel o Plesk).
- Selecciona la base de datos correspondiente a tu tienda PrestaShop.
- Busca la tabla llamada
ps_configuration(el prefijops_puede variar). - Utiliza el buscador interno de la tabla para localizar las variables:
PS_SMARTY_CACHE_TYPEyPS_SMARTY_COMPILATION. - Modifica el valor de
PS_SMARTY_COMPILATIONde0(nunca recompilar) o1(recompilar si los archivos han sido modificados) al valor2(forzar compilación). - Guarda los cambios y limpia la caché de tu navegador antes de volver a entrar a tu tienda.