Cómo omitir líneas en un bloque de tabla dinámica
Objetivos del artículo
Aprende a omitir filas (p. ej., artículos) en un bloque de tabla dinámica. El caso de uso más común es ocultar artículos irrelevantes, como el seguro de envío o los artículos de regalo gratis, de un correo electrónico de carrito abandonado. Sin embargo, puedes seguir estos pasos para cualquier correo electrónico que use un bloque de tabla dinámica.
Este proceso implica editar directamente el código del correo electrónico. Esto solo se recomienda para profesionales del marketing con conocimientos técnicos o para quienes tengan acceso a una persona desarrolladora. Nuestro equipo de soporte no puede ayudarte a escribir código personalizado más allá de la orientación general que se incluye en esta documentación. Para mantener la seguridad de los datos, el equipo de soporte de Klaviyo no puede abrir archivos HTML.
Antes de empezar
En este artículo se explica cómo ocultar elementos de bloques de tablas dinámicas existentes. Si todavía no creaste un bloque de tabla dinámica que funcione (por ejemplo, los productos en un correo electrónico de carrito abandonado o de confirmación de pedido), descubre cómo crear uno desde cero o comienza con un mensaje en nuestra biblioteca de flujos.
Escribe las sentencias if.
Antes de hacer cambios en la plantilla, crea 2 fragmentos de código con un editor de texto o de código (en algún lugar desde donde puedas copiar y pegar los fragmentos más tarde). Cada fragmento de código constará de 3 partes:
- Una etiqueta if de apertura,
{% if ... %}, que indica qué elementos deben aparecer en el bloque de tabla. - Contenido, como una etiqueta de imagen o texto sobre el producto.
- Una etiqueta de cierre,
{% endif %}.
Crea la etiqueta if de apertura
Aquí tienes algunos ejemplos de etiquetas if de apertura:
Etiqueta | Significado |
{% if item.price != 0 %} | Si el precio del artículo (item.price) es cualquier valor distinto de 0. |
{% if item.product.name != "Route Shipping Insurance" %} | Si el nombre del artículo (item.product.name) es cualquier cosa que no sea “Route Shipping Insurance” |
{% if not "T-Shirt" in item.product.title %} | Si el título del artículo (item.product.title) no contiene "T-Shirt". |
{% if item.title %} | Si el título del elemento (item.title) está configurado (es decir, tiene algún valor). |
Estas etiquetas distinguen entre mayúsculas y minúsculas y deben coincidir exactamente con los datos. Por ejemplo, si la variable del precio del artículo es distinta de item.price (p. ej., item.Price o item.details.line_price), actualiza el código para que coincida con la fuente de datos.
Crea el contenido para la sentencia if
Para el contenido, sigue estos pasos para usar el contenido existente del bloque de tabla dinámica. Escribe este fragmento de código en un editor de código o de texto; lo agregarás a la plantilla en la siguiente sección.
- En Contenido de la celda de la imagen del bloque de tabla, haz clic en Reemplazar para ver el marcador de posición de la imagen.
- Copia todo el código del campo Variable dinámica o URL dinámica. Ten en cuenta que puede ser una variable dinámica simple o un fragmento de código más largo; cópialo todo, sin importar la longitud.
- Reemplaza el marcador de posición en este fragmento de código con el código que copiaste del campo Variable dinámica o URL dinámica.
<img src="PLACEHOLDER" style="width: 200px; height: auto;" width="200"> Si tu bloque de tabla existente tiene una variable dinámica simple para la imagen, el contenido resultante se verá más o menos así:
<img src="{{item.product.variant.images.0.src}}" style="width: 200px; height: auto;" width="200"> Si el bloque de tabla existente contiene un fragmento de código más largo, el contenido resultante podría verse así:
<img src="{% if item.product.variant.images.0.src %}{{item.product.variant.images.0.src}}{%else%}{{item.product.images.0.src|missing_product_image}}{%endif%}" style="width: 200px; height: auto;" width="200"> Agrega la etiqueta de cierre
Luego, junta todo el contenido: tu sentencia if de apertura, luego tu contenido y, finalmente, una etiqueta de cierre {% endif %}.
Repite el proceso para el contenido del texto
Luego, repite este proceso con el contenido del lado derecho del bloque de tabla (p. ej., el contenido del texto). Haz clic en </> para abrir el editor de código y copiar todo el contenido HTML, y luego envuelve este contenido en la misma instrucción if (pasos 1 y 3) que usaste para el contenido de la imagen.
Así es como se ve todo junto:
Fragmento de código 1 (imagen del producto) | Fragmento de código 2 (detalles del producto) |
|
|
Y aquí tienes un desglose de esos fragmentos de código:
Fragmento de código 1 (imagen del producto) | Fragmento de código 2 (detalles del producto) |
|
|
Al usar estos fragmentos de código, asegúrate de usar comillas rectas (") en lugar de comillas curvas (“) para garantizar que el código se renderice correctamente.
Una vez que hayas escrito ambos fragmentos de código, continúa en el editor de plantillas siguiendo los pasos a continuación.
Omitir filas en un bloque de tabla dinámica
Antes de editar el bloque de tabla dinámica, considera guardar el bloque original como contenido universal en caso de que necesites consultarlo en mensajes futuros. Luego, desvincula el bloque y edítalo por separado para que los cambios no se guarden en el bloque de contenido universal.
- Si tu correo electrónico forma parte de un flujo, configúralo como Borrador o Manual para que los mensajes no se envíen mientras editas el mensaje del flujo.
- Asegúrate de que el contenido de la celda de ambas columnas del nuevo bloque de tabla esté configurado en texto.
- Haz clic en </> para abrir el editor de HTML del lado izquierdo del bloque de tabla.
- Copia el fragmento de código de imagen del producto que creaste en la sección anterior y pégalo en el campo HTML.
- Haz clic en Listo en la parte superior izquierda.
- Ve al editor del lado derecho del bloque de tabla.
- Haz clic en </> para abrir el editor de HTML del lado derecho del bloque de tabla.
- Copia el fragmento de código de detalles del producto que creaste en la sección anterior y pégalo en el campo HTML; reemplaza todo el contenido anterior.
- Haz clic en Listo.
- Previsualiza el correo electrónico para asegurarte de que se muestre como esperas: el elemento omitido no debería aparecer, pero todos los demás elementos aparecerán con normalidad. Asegúrate de previsualizar con un evento que incluya el elemento que intentas ocultar, para confirmar que esté oculto.
Declaraciones condicionales y editor de texto integrado
Cuando añadas determinadas declaraciones condicionales a un bloque de texto, es posible que desaparezcan del editor de texto integrado. El código seguirá estando allí, pero oculto. Para ver y editar declaraciones condicionales, usa el generador de etiquetas de Django o mueve el contenido a un bloque de HTML dedicado para editar el código directamente.
Las siguientes etiquetas no aparecen en el editor de texto en línea, pero permanecen en el bloque de texto:
- {% for ... %}
- {% endfor %}
- {% if ... %}
- {% elif ... %}
- {% else %}
- {% endif %}
- {% with ... %}
- {% endwith %}
Guía de solución de problemas
No aparece ningún elemento en la vista previa
- Asegúrate de estar previsualizando con un evento que coincida con la fuente de datos que usaste (p. ej., Inició el pago para un mensaje de carrito abandonado).
- Confirma que Repeat for y Row alias coincidan exactamente con Row collection y Row alias del bloque original.
El elemento que debería omitirse sigue apareciendo
Revisa la ortografía y el uso de mayúsculas en la instrucción if. Si el producto sigue apareciendo, significa que cumple con los criterios de la instrucción if, por lo que la instrucción if no está configurada correctamente. Obtén más información sobre la lógica condicional en plantillas.
Resultado
Después de seguir estos pasos, los artículos que no cumplan con los criterios de la declaración if no aparecerán en mensajes como correos electrónicos de carrito abandonado o de confirmación de pedido.
Recursos adicionales
- Guía de personalización de mensajes
Descubre cómo usar las variables de personalización (o etiquetas) de Klaviyo para ofrecer una experiencia personalizada a tus clientes.
- Cómo importar una plantilla HTML personalizada
Obtén información sobre cómo importar una plantilla HTML personalizada a Klaviyo.