¿Qué es el error de sintaxis Liquid en Shopify?
El motor de plantillas Liquid es el corazón visual y funcional de Shopify. Cuando modificas el código de tu tema (en archivos .liquid) y cometes un pequeño desliz tipográfico, como olvidar cerrar una etiqueta o escribir mal un filtro, la plataforma bloquea la renderización de la página y muestra un molesto mensaje de error de sintaxis. Esto puede afectar la experiencia del usuario e incluso interrumpir el proceso de compra.
Causas principales del error Liquid
- Falta de etiquetas de cierre, como
{% endif %}o{% endfor %}. - Uso incorrecto de delimitadores, confundiendo
{{ }}(para variables) con{% %}(para lógica). - Nombres de variables mal escritos o llamadas a objetos que no existen en el contexto actual de la plantilla.
- Uso de filtros Liquid no soportados o con sintaxis de argumentos errónea.
Método 1: Revisar el registro de errores y la línea indicada
Cuando Shopify detecta un fallo en Liquid, por lo general te muestra una pista en la parte superior del editor de código o en la vista previa de la tienda.
- Inicia sesión en tu panel de administración de Shopify y ve a Tienda online > Temas.
- Haz clic en los tres puntos del tema actual y selecciona Editar código.
- Dirígete al archivo que editaste recientemente o busca el archivo indicado en el aviso de error.
- Observa el número de línea que menciona el mensaje de error y navega directamente hacia ella en el editor.
Método 2: Corregir etiquetas de control y delimitadores huérfanos
La causa más común es una estructura de bloques incompleta. Asegúrate de que cada apertura tenga su correspondiente cierre.
- Busca las estructuras condicionales (
{% if ... %}) o bucles ({% for ... %}) cercanos a la línea del error. - Verifica que cada
iftenga suendify cadaforsuendfor. - Comprueba que no hayas mezclado llaves dobles con corchetes de control. Por ejemplo, cambia
{% product.title %}por la forma correcta{{ product.title }}. - Haz clic en Guardar y recarga la vista previa de tu tienda para confirmar que el error ha desaparecido.