Introducción
Uno de los problemas más frustrantes a los que se enfrentan los administradores de comercio electrónico es encontrarse con una excepción de Smarty en PrestaShop. Este error suele bloquear parcial o totalmente la visualización de la tienda, mostrando mensajes crípticos relacionados con la compilación de plantillas o variables no definidas. En este artículo te mostraremos cómo solucionar este inconveniente de manera definitiva.
Causas comunes de la excepción de Smarty
Las excepciones de Smarty en PrestaShop ocurren generalmente por los siguientes motivos:
- Problemas de caché en la compilación de archivos .tpl.
- Modificaciones recientes en los archivos del tema o plantillas personalizadas.
- Incompatibilidad de sintaxis tras actualizar un módulo o la versión de PHP.
- Falta de permisos de escritura en la carpeta de caché del servidor.
Método 1: Vaciar la caché de PrestaShop manualmente
Cuando el panel de administración no responde debido al error, la solución más efectiva es vaciar la caché directamente desde el servidor mediante un cliente FTP o el Administrador de Archivos de tu Hosting.
- Accede a los archivos de tu tienda utilizando tu cliente FTP preferido.
- Navega hasta la ruta
/var/cache/de tu instalación de PrestaShop. - Localiza las carpetas
prodydevdentro del directorio de caché. - Elimina el contenido de ambas carpetas (o renómbralas temporalmente).
- Recarga tu tienda en el navegador para comprobar si el error ha desaparecido.
Método 2: Activar el modo debug para identificar el archivo erróneo
Si vaciar la caché no funciona, necesitas conocer la traza exacta del error para saber qué archivo o módulo está fallando.
- Accede a tu servidor vía FTP y busca el archivo
defines.inc.phpubicado en la ruta/config/. - Abre el archivo con un editor de código y busca la siguiente línea:
define('_PS_MODE_DEV_', false); - Cambia el valor
falseportruepara habilitar el modo depuración:define('_PS_MODE_DEV_', true); - Guarda los cambios y actualiza la página de tu tienda donde aparecía el error para ver la excepción detallada de Smarty.
Método 3: Corregir permisos en el directorio de caché
Un error de permisos impide que Smarty compile correctamente las plantillas, generando excepciones constantes.
- Conéctate a tu servidor mediante SSH o utiliza el panel de tu hosting.
- Ejecuta el siguiente comando para asegurar los permisos correctos en la carpeta de caché:
chmod -R 755 var/cache/ - Si el servidor lo requiere por restricciones de usuario, asegúrate de que el propietario sea el usuario web (por ejemplo, www-data):
chown -R www-data:www-data var/cache/ - Vuelve a comprobar el funcionamiento de tu tienda PrestaShop.