Filtros
Este artículo de referencia ofrece una visión general de los filtros en Liquid y explica qué filtros son compatibles con Braze. ¿Buscas ideas para utilizar estos filtros? Consulta nuestra biblioteca de casos de uso de Liquid.
Los filtros permiten modificar la salida de números, cadenas, variables y objetos en Liquid. Puede utilizar filtros para reformatear texto estático o dinámico, como cambiar una cadena de minúsculas a mayúsculas o realizar operaciones matemáticas, como sumas o divisiones.
Braze no es compatible con todos los filtros Liquid de Shopify. Esta página intenta resumir los filtros de líquido que Braze ha probado, pero puede que no sea una lista completa. Pruebe siempre su líquido antes de enviar cualquier mensaje.
Si tiene alguna pregunta sobre un filtro que no aparece aquí, póngase en contacto con su gestor de éxito de clientes.
Sintaxis del filtro
Los filtros deben colocarse dentro de una etiqueta de salida {{ }}
y se indican mediante un carácter de tubo |
.
1
{{"Big Sale" | upcase}}
1
BIG SALE
En este ejemplo, Big Sale
es una cadena y upcase
es el filtro que se aplica.
Sintaxis para filtros múltiples
Puede utilizar varios filtros en una salida. Se aplican de izquierda a derecha.
1
{{ "Big Sale" | upcase | remove: "BIG" }}
1
SALE
Filtros de matriz
Los filtros de matrices se utilizan para modificar la salida de las matrices.
Filtro | Definición | Compatible |
---|---|---|
join | Une los elementos de una matriz con el carácter pasado como parámetro. El resultado es una sola cadena. | ✅ Sí |
first | Devuelve el primer elemento de un array. En una matriz de atributos personalizada, es el valor añadido más antiguo. | ✅ Sí |
last | Devuelve el último elemento de un array. En una matriz de atributos personalizada, es el valor añadido más recientemente. | ✅ Sí |
compact | Elimina cualquier elemento nil de una matriz. |
✅ Sí |
concat | Combina una matriz con otra matriz. | ✅ Sí |
index | Devuelve el elemento en la posición de índice especificada en una matriz. El primer elemento de un array se referencia con [0] . |
✅ Sí |
map | Acepta un atributo de elemento de matriz como parámetro y crea una matriz a partir del valor de cada elemento de matriz. | ✅ Sí |
reverse | Invierte el orden de los elementos de una matriz. | ✅ Sí |
size | Devuelve el tamaño de una cadena (el número de caracteres) o de una matriz (el número de elementos). | ✅ Sí |
sort | Ordena los elementos de una matriz por un atributo dado de un elemento de la matriz. | ✅ Sí |
ordenar_natural | Ordena los elementos de una matriz por orden alfabético sin distinguir mayúsculas de minúsculas. | ✅ Sí |
uniq | Elimina cualquier instancia duplicada de los elementos de una matriz. | ✅ Sí |
donde | Filtra una matriz para incluir sólo elementos con un valor de propiedad específico. | ✅ Sí |
Filtros de color
Braze no admite filtros de color.
Filtros de fuentes
Braze no admite filtros de fuentes.
Filtros matemáticos
Los filtros matemáticos permiten realizar operaciones matemáticas. Si utilizas varios filtros en una salida, se aplicarán de izquierda a derecha.
Filtro | Definición | Compatible |
---|---|---|
abs | Devuelve el valor absoluto de un número. | ✅ Sí |
at_most | Limita un número a un valor máximo. | ✅ Sí |
at_least | Limita un número a un valor mínimo. | ✅ Sí |
ceil | Redondea una salida al entero más próximo. | ✅ Sí |
dividido_por | Divide una salida por un número. La salida se redondea al entero más próximo. Echa un vistazo al siguiente consejo para evitar el redondeo. | ✅ Sí |
floor | Redondea una salida al entero más cercano. | ✅ Sí |
minus | Resta un número de una salida. | ✅ Sí |
plus | Añade un número a una salida. | ✅ Sí |
round | Redondea la salida al entero más próximo o al número especificado de decimales. | ✅ Sí |
veces | Multiplica una salida por un número. | ✅ Sí |
modulo | Divide una salida por un número y devuelve el resto. | ✅ Sí |
Al dividir enteros (números enteros) entre enteros en Liquid, si la respuesta es un flotante (número con un decimal), Liquid redondeará automáticamente hacia abajo al entero más próximo. Sin embargo, al dividir enteros entre flotantes siempre se obtiene un flotante. Esto significa que puedes convertir tus enteros en un float (1.0, 2.0, 3.0) para devolver un float.
Por ejemplo,{{15 | divided_by: 2}}
mostrará 7
, mientras que {{15 | divided_by: 2.0}}
mostrará 7.5
.
Operaciones matemáticas con atributos personalizados
Ten en cuenta que no puedes realizar operaciones matemáticas entre dos atributos personalizados.
1
{{custom_attribute.${current_rewards_balance} | plus: {{custom_attribute.${giftcard_balance}}}}}
Este ejemplo no funcionaría porque no se puede hacer referencia a varios atributos personalizados en una línea de Liquid. En su lugar, necesitaría asignar una variable a al menos uno de estos valores antes de que las funciones matemáticas tengan lugar. Añadir dos atributos personalizados juntos requeriría dos líneas de Liquid:
- Uno para asignar el atributo personalizado a una variable,
- Uno para realizar la suma.
Casos de uso: Calcular el balance de corriente
Supongamos que queremos calcular el saldo actual de un usuario sumando el saldo de su tarjeta regalo y el saldo de recompensas.
- Utiliza la etiqueta
assign
para sustituir el atributo personalizado decurrent_rewards_balance
por el término “saldo”. Esto significa que ahora tienes una variable llamadabalance
, que puedes manipular.
1
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
2. Utiliza el filtro plus
para combinar el saldo de la tarjeta regalo de cada usuario con su saldo de recompensas, indicado por el objeto {{balance}}
.
1
2
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
You have ${{custom_attribute.${giftcard_balance} | plus: {{balance}}}} to spend!
1
You have $35 to spend!
Filtros de dinero
Si vas a poner al día a un usuario sobre su compra, el saldo de una cuenta o cualquier otra cosa relacionada con el dinero, debes utilizar filtros de dinero. Los filtros de dinero garantizan que los decimales estén en el lugar correcto y que no se pierda ningún fragmento de la actualización (como ese molesto 0
al final).
Filtro | Definición | Compatible |
---|---|---|
money | Formatea los números para garantizar que los decimales están en el lugar adecuado y que no se han eliminado ceros al final de ningún número. | ✅ Sí |
dinero_con_divisa | Formatea los números con el símbolo de moneda. | ⛔ No |
dinero_sin_divisa | Formatea los números sin el símbolo de moneda. | ⛔ No |
Para formatear correctamente un número con el filtro money
, elimine las comas del número y añada el filtro plus: 0
antes del filtro money
. Por ejemplo, mira el siguiente Liquid:
1
2
{% assign my_int = "350000.25" | plus: 0 %}
{{ my_int | money }}
Filtro de dinero Shopify versus filtro de dinero Braze
El comportamiento del filtro money
de Shopify difiere de cómo se utiliza en Braze. Consulte los siguientes ejemplos para obtener una descripción precisa del comportamiento esperado.
En caso de que introduzcas un atributo personalizado (como account_balance
), debes utilizar siempre el filtro money
para colocar los decimales en el lugar adecuado y evitar que los ceros caigan al final de los números:
1
${{custom_attribute.${account_balance} | money}}
CON EL FILTRO DE DINERO | SIN EL FILTRO DE DINERO |
---|---|
![]() |
![]() |
Donde account_balance se introduce en 17.8 . |
Donde account_balance se introduce en 17.8 . |
El filtro money
de Braze difiere del de Shopify porque no aplica automáticamente los decimales según una configuración preestablecida. Por ejemplo, tomemos el siguiente escenario en el que rewards_redeemed
contiene un valor de 145
:
1
${{event_properties.${rewards_redeemed} | money }}
1
$145.00
Según el filtro de dinero de Shopify, esto debería tener una salida de $1.45
, sin embargo en Braze, esto tendrá una salida de $145.00
. Como solución, podemos utilizar el filtro divided_by
para manipular el número y convertirlo en decimal, antes de aplicar el filtro de dinero:
1
${{event_properties.${rewards_redeemed} | divided_by: 100.00 | money }}
1
$1.45
Filtros de cadena
Los filtros de cadenas se utilizan para manipular las salidas y variables de las cadenas. Las cadenas son una combinación de caracteres alfanuméricos y deben ir entre comillas rectas.
Las comillas rectas son diferentes de las rizadas en Liquid. Tenga cuidado al copiar y pegar Liquid desde un editor de texto en Braze, ya que las comillas rizadas provocarán errores con su Liquid. Si escribes tu Liquid directamente en Braze, las comillas rectas se aplicarán automáticamente.
Filtro | Descripción | Compatible |
---|---|---|
append | Añade caracteres a una cadena. | ✅ Sí |
camelcase | Convierte una cadena a CamelCase. | ⛔ No |
capitalize | Escribe en mayúsculas la primera palabra de una cadena y en minúsculas el resto de caracteres. | ✅ Sí |
downcase | Convierte una cadena a minúsculas. | ✅ Sí |
escape | Escapa de una cadena. | ✅ Sí |
handle/handleize | Formatea una cadena en un asa. | ⛔ No |
md5 | Convierte una cadena en un hash MD5. Consulte Filtros de codificación para obtener más información. | ✅ Sí |
sha1 | Convierte una cadena en un hash SHA-1. Consulte Filtros de codificación para obtener más información. | ✅ Sí |
hmac_sha1_hex (anteriormente hmac_sha_1) |
Convierte una cadena en un hash SHA-1 utilizando un código de autenticación de mensajes hash (HMAC). Pasa la clave secreta del mensaje como parámetro al filtro. Consulte Filtros de codificación para obtener más información. | ✅ Sí |
hmac_sha256 | Convierte una cadena en un hash SHA-256 utilizando un código de autenticación de mensajes hash (HMAC). Pasa la clave secreta del mensaje como parámetro al filtro. | ✅ Sí |
hmac_sha512 | Convierte una cadena en un hash SHA-512 utilizando un código de autenticación de mensajes hash (HMAC). Pasa la clave secreta del mensaje como parámetro al filtro. | ✅ Sí |
newline_to_br | Inserta una etiqueta HTML de salto de línea <br> delante de cada salto de línea de una cadena. |
✅ Sí |
pluralize | Imprime la versión singular o plural de una cadena inglesa en función del valor de un número. | ⛔ No |
prepend | Antepone caracteres a una cadena. | ✅ Sí |
remove | Elimina todas las apariciones de una subcadena de una cadena. | ✅ Sí |
remove_first | Elimina sólo la primera aparición de una subcadena de una cadena. | ✅ Sí |
replace | Sustituye todas las apariciones de una cadena por una subcadena. | ✅ Sí |
replace_first | Sustituye la primera aparición de una cadena por una subcadena. | ✅ Sí |
slice | El filtro slice devuelve una subcadena, comenzando en el índice especificado. | ✅ Sí |
split | El filtro de división toma una subcadena como parámetro. La subcadena se utiliza como delimitador para dividir una cadena en una matriz. | ✅ Sí |
strip | Elimina tabuladores, espacios y nuevas líneas (todos los espacios en blanco) de los lados izquierdo y derecho de una cadena. | ✅ Sí |
lstrip | Elimina tabuladores, espacios y nuevas líneas (todos los espacios en blanco) de la parte izquierda de una cadena. | ⛔ No |
rstrip | Elimina tabuladores, espacios y nuevas líneas (todos los espacios en blanco) de la parte derecha de una cadena. | ⛔ No |
strip_html | Elimina todas las etiquetas HTML de una cadena. | ✅ Sí |
strip_newlines | Elimina los saltos de línea y las nuevas líneas de una cadena. | ✅ Sí |
truncate | Trunca una cadena hasta el número de caracteres pasado como primer parámetro. Se añade una elipsis (…) a la cadena truncada y se incluye en el recuento de caracteres. | ✅ Sí |
truncatewords | Trunca una cadena hasta el número de palabras pasado como primer parámetro. Se añade una elipsis (…) a la cadena truncada. | ✅ Sí |
upcase | Convierte una cadena a mayúsculas. | ✅ Sí |
Filtros adicionales
Los siguientes filtros generales sirven para muchas cosas, como formatear o convertir contenidos.
Filtro | Descripción | Compatible |
---|---|---|
date | Convierte una marca de tiempo en otro formato de fecha. Más información en Filtro de fechas. | ✅ Sí |
default | Establece un valor por defecto para cualquier variable sin valor asignado. Puede utilizarse con cadenas, matrices y hashes. | ✅ Sí |
format_address | Formatea una dirección para imprimir los elementos de la dirección en orden según su localización. | ⛔ No |
highlight | Envuelve las palabras dentro de los resultados de búsqueda con una etiqueta HTML <strong> con la clase highlight si coincide con los términos de búsqueda enviados. |
⛔ No |
time_zone |
Consulta Filtrar zona horaria. | ✅ Sí |
Encontrará más filtros compatibles, como los de codificación y URL, en nuestra página Filtros avanzados.
Filtro de fechas
El filtro date
puede utilizarse para convertir una marca de tiempo en un formato de fecha diferente. Puede pasar parámetros al filtro date
para reformatear la marca de tiempo. Para ver ejemplos de estos parámetros, consulte strfti.me.
Por ejemplo, supongamos que el valor de date_attribute
es la marca de tiempo 2021-06-03 17:13:41 UTC
.
1
{{custom_attribute.${date_attribute} | date: '%b %d'}}
1
03 June
Además de las opciones de formato de strftime
, Braze también admite la conversión de una marca de tiempo a hora Unix con el filtro de fecha %s
. Por ejemplo, para obtener el date_attribute
en tiempo Unix:
1
{{custom_attribute.${date_attribute} | date: '%s' }}
1
1433351621
Filtro de zona horaria
Además de los filtros que encontrarás listados en la documentación de Shopify, Braze también soporta el filtro time_zone
.
El filtro time_zone
toma una hora, una zona horaria y un formato de fecha y devuelve la hora de esa zona horaria en el formato de fecha especificado. Por ejemplo, supongamos que el valor de {{custom_attribute.$date_attribute}}}
es 2021-08-04 9:00:00 UTC
:
1
{{custom_attribute.${date_attribute} | time_zone: 'America/Los_Angeles' | date: '%a %b %e %T' }}
1
Wed August 4 2:00:00
También puede utilizar la variable reservada now
para acceder a la fecha y hora actuales para su manipulación.
1
{{ 'now' | date: '%Y-%m-%d %H:%M:%S' }}
1
2021-08-04 18:13:13