Todas las colecciones
Editor de plantillas
Personalización
Usando condicionales en tus plantillas de WoowUp
Usando condicionales en tus plantillas de WoowUp

Te explicamos como usar lógica en las plantillas de tus mails para personalizarlos aun más.

Actualizado hace más de una semana

El editor de WoowUp utiliza un motor de templates llamado TWIG (documentación), esto permite utilizar programación para modificar los templates en base a los datos que tienes disponibles de tus clientes en WoowUp.

También es gracias a TWIG que podemos mostrar los productos de carrito abandonado, productos navegados, entre otros en tus mails.

IF/ELSE

Con los condicionales If y else podemos evaluar si un dato tiene un determinado valor y en base a eso mostrar una fila o un contenido en la plantilla.

La sintaxis para usar estos condicionales es la siguiente:

<!--{% if %}--> (Luego del if colocamos el dato a evaluar)

Contenido a mostrar si la condición se cumple.

<!--{% else %}-->

Contenido a mostrar si la condición NO se cumple.

<!--{% endif %}-->

Veamos cómo llevar a cabo este condicional con algunos ejemplos:

  • Mostrar una fila con un banner de promoción para los clientes que poseen tarjeta de credito Visa:

Una vez hayamos insertado nuestro banner en la fila, vamos a Añade condición y configuramos el condicional:

Y listo, con esto, si el cliente es usuario de una tarjeta de crédito Visa, el banner se mostrará en el mail que reciba, aquello usuarios que no cumplan la condición no podrán verlo.

No solo puedes utilizar condicionales en la configuración de una fila, también puedes hacerlo en cualquier parte de la plantilla donde puedas incorporar texto, vamos a ver cómo condicionar que se muestre un precio u otro para un producto.

  •  Mostrar el precio oferta solo en los productos que lo posean.

Creamos una estructura de producto clásica y colocamos los campos dinámicos necesarios.

Con esta sintaxis si existe el precio oferta lo mostramos si no existe solo muestra el precio lista:

{% if product.offer_price %}
Precio Oferta: ${{product.offer_price}}  

{% else %}
Precio Lista: ${{product.price}}

{% endif %}

El único requisito es tener el dato que define la condición, si está disponible se pueden hacer templates muy dinámicos y ajustados a cada uno de tu clientes.


Filtros y funciones

FIltros

Los campos dinámicos pueden modificarse con filtros. Los filtros se aplican utilizando el caracter pipe "|" seguido del filtro a usar, por ejemplo:

{{customer.name}} -> Juan Perez
{{customer.name | upper }} -> JUAN PEREZ

Hay filtros que pueden incluir parámetros para configurar como se ha de aplicar el filtro, los parámetros se colocan entre paréntesis y en caso de haber más de uno se separan por comas, por ejemplo:

{{product.name}} -> Campera de Cuero Ecologico Talle M
{{product.name | truncate(20) }} -> Campera de Cuero Eco...
{{product.name | truncate(20,'!!') }} -> Campera de Cuero Eco!

Se pueden utilizar varios filtros en un mismo campo dinámico para aplicar varios efectos simultáneamente, por ejemplo:

{{product.name | truncate(20,'!!') }} -> Campera de Cuero Eco!
{{product.name | truncate(20,'!!') | upper }} -> CAMPERA DE CUERO ECO!

Filtros Disponibles

upper: Convierte a mayúscula un texto.

lower: Convierte a minúscula un texto.

escape: Escapea un texto en un formato dado.

raw: Imprime el texto sin escapear en entidades HTML.

slice: Corta un texto a partir de un inicio y una longitud.

capitalize: Convierte a mayúscula la primer letra del texto.

title: Convierte a mayúscula la primer letra de cada palabra del texto.

trim: Elimina ciertos caracteres al inicio, al final o en ambas posiciones de un texto.

url_encode: Codifica como URL una cadena de texto.

replace: Busca un texto y lo reemplaza por otro.

number_format: Formatea un número con separadores de miles y decimales.

truncate: Corta un texto a una cierta longitud, si lo corta le agrega por default "..." al final.

first_word: Corta un texto por los espacios que contengan. Por defecto devuelve la primera palabra del texto.

Funciones

Las funciones pueden llamarse para generar contenido, y son invocadas por su nombre seguido por paréntesis "()", pueden contener argumentos de forma opcional.

{{now()}} -> 20/07/2019
{{now(5)}} -> 25/07/2019

Funciones disponibles

now: Retorna la fecha actual con formato dd/mm/yyyy.

date_format: Formatea una fecha en un cierto formato.

hex: Convierte a hexadecimal un texto.

number_format: Formatea un número con separadores de miles y decimales.

product_by_sku: Busca un producto por SKU.

best_sellers_by_category: Busca los productos mas vendidos por categoría.

recommended_products: Busca los productos recomendados para un cliente.

range: Genera un listado de números a partir de un intervalo.

chunks: Divide un array en pedazos.


Deseas insertar recomendadores dinámicos en tus plantillas HTML utilizando Twig? Visita el siguiente artículo

¿Ha quedado contestada tu pregunta?