Filtros
Este artigo de referência fornece uma visão geral dos filtros no Liquid e aborda quais filtros são compatíveis com o Braze. Está procurando ideias de como usar esses filtros? Confira nossa biblioteca de casos de uso do Liquid.
Os filtros são a forma como você pode modificar a saída de números, cadeias de caracteres, variáveis e objetos no Liquid. Você pode usar filtros para reformatar texto estático ou dinâmico, como alterar uma cadeia de caracteres de minúsculas para maiúsculas ou realizar operações matemáticas, como adição ou divisão.
O Braze não é compatível com todos os filtros Liquid da Shopify. Esta página tenta delinear os filtros líquidos que a Braze testou, mas pode não ser uma lista completa. Sempre teste seu Liquid antes de enviar qualquer mensagem.
Se você tiver alguma dúvida sobre um filtro que não esteja listado aqui, entre em contato com o gerente de sucesso do cliente.
Sintaxe do filtro
Os filtros devem ser colocados em uma tag de saída {{ }} e são indicados por um caractere de pipe |.
1
{{"Big Sale" | upcase}}
1
BIG SALE
Neste exemplo, Big Sale é uma cadeia de caracteres e upcase é o filtro que está sendo aplicado.
Sintaxe para vários filtros
Você pode usar vários filtros em uma saída. Eles são aplicados da esquerda para a direita.
1
{{ "Big Sale" | upcase | remove: "BIG" }}
1
SALE
Filtros de matriz
Os filtros de matriz são usados para alterar a saída das matrizes.
| Filtro | Definição | Com suporte |
|---|---|---|
| unir-se | Une os elementos de uma matriz com o caractere passado como parâmetro. O resultado é uma única string. | ✅ Sim |
| primeiro | Retorna o primeiro elemento de uma matriz. Em uma matriz de atributos personalizados, esse é o valor adicionado mais antigo. | ✅ Sim |
| último | Retorna o último elemento de uma matriz. Em uma matriz de atributos personalizados, esse é o valor adicionado mais recentemente. | ✅ Sim |
| compacto | Remove todos os itens nil de uma matriz. |
✅ Sim |
| concatenar | Combina uma matriz com outra matriz. | ✅ Sim |
| find_index | Retorna o item no local de índice especificado em uma matriz. O primeiro item em uma matriz é referenciado com [0]. |
⛔ Não |
| mapa | Aceita o atributo de um elemento da matriz como parâmetro e cria uma matriz a partir do valor de cada elemento da matriz. | ✅ Sim |
| reverso | Inverte a ordem dos itens em uma matriz. | ✅ Sim |
| tamanho | Retorna o tamanho de uma string (o número de caracteres) ou de uma matriz (o número de elementos). | ✅ Sim |
| classificar | Classifica os elementos de uma matriz por um determinado atributo de um elemento da matriz. | ✅ Sim |
| sort_natural | Classifica os itens em uma matriz em ordem alfabética sem distinção entre maiúsculas e minúsculas. | ✅ Sim |
| uniq | Remove quaisquer instâncias duplicadas de elementos em uma matriz. | ✅ Sim |
| onde | Filtra uma matriz para incluir apenas itens com um valor de propriedade específico. | ✅ Sim |
Filtros coloridos
Os filtros de cores não são compatíveis com o Braze.
Filtros de fonte
Os filtros de fonte não são compatíveis com o Braze.
Filtros matemáticos
Os filtros matemáticos permitem que você realize operações matemáticas. Se você usar vários filtros em uma saída, eles serão aplicados da esquerda para a direita.
| Filtro | Definição | Com suporte |
|---|---|---|
| abs | Retorna o valor absoluto de um número. | ✅ Sim |
| at_most | Limita um número a um valor máximo. | ✅ Sim |
| at_least | Limita um número a um valor mínimo. | ✅ Sim |
| teto | Arredonda uma saída até o número inteiro mais próximo. | ✅ Sim |
| divided_by | Divide uma saída por um número. A saída é arredondada para o número inteiro mais próximo. Confira a dica a seguir para evitar o arredondamento. | ✅ Sim |
| piso | Arredonda uma saída para o número inteiro mais próximo. | ✅ Sim |
| menos | Subtrai um número de uma saída. | ✅ Sim |
| mais | Adiciona um número a uma saída. | ✅ Sim |
| rodada | Arredonda a saída para o número inteiro mais próximo ou para o número especificado de casas decimais. | ✅ Sim |
| horários | Multiplica uma saída por um número. | ✅ Sim |
| módulo | Divide uma saída por um número e retorna o restante. | ✅ Sim |
Ao dividir números inteiros (números inteiros) por números inteiros no Liquid, se a resposta for um float (número com um decimal), o Liquid arredondará automaticamente para o número inteiro mais próximo. No entanto, a divisão de números inteiros por números flutuantes sempre resultará em um número flutuante. Isso significa que você pode transformar seus números inteiros em um float (1,0, 2,0, 3,0) para retornar um float.
Por exemplo,{{15 | divided_by: 2}} produzirá 7, enquanto {{15 | divided_by: 2.0}} produzirá 7.5.
Operações matemáticas com atributos personalizados
Lembre-se de que não é possível realizar operações matemáticas entre dois atributos personalizados.
1
{{custom_attribute.${current_rewards_balance} | plus: {{custom_attribute.${giftcard_balance}}}}}
Esse exemplo não funcionaria porque não é possível fazer referência a vários atributos personalizados em uma linha do Liquid. Em vez disso, você precisaria atribuir uma variável a pelo menos um desses valores antes de executar as funções matemáticas. Adicionar dois atributos personalizados juntos exigiria duas linhas de Liquid:
- Um para atribuir o atributo personalizado a uma variável,
- Um para realizar a adição.
Caso de uso: Calcular o saldo atual
Digamos que queremos calcular o saldo atual de um usuário adicionando o saldo do cartão-presente e o saldo de recompensas.
- Use a tag
assignpara substituir o atributo personalizado decurrent_rewards_balancepelo termo “balance”. Isso significa que agora você tem uma variável chamadabalance, que pode ser manipulada.
1
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
2. Use o filtro plus para combinar o saldo do cartão-presente de cada usuário com seu saldo de recompensas, representado pelo 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 dinheiro
Se estiver atualizando um usuário sobre uma compra, um saldo de conta ou qualquer coisa relacionada a dinheiro, você deve usar filtros de dinheiro. Os filtros de dinheiro garantem que as casas decimais estejam no lugar correto e que nenhuma parte da sua atualização seja perdida (como aquele incômodo 0 no final).
| Filtro | Definição | Com suporte |
|---|---|---|
| dinheiro | Formata números para garantir que os decimais estejam no lugar correto e que não haja zeros no final de nenhum número. | ✅ Sim |
| money_with_currency | Formata números com o símbolo de moeda. | ⛔ Não |
| money_without_currency | Formata números sem o símbolo de moeda. | ⛔ Não |
Para formatar corretamente um número com o filtro money, remova todas as vírgulas do número e adicione o filtro plus: 0 antes do filtro money. Por exemplo, consulte o Liquid a seguir:
1
2
{% assign my_int = "350000.25" | plus: 0 %}
{{ my_int | money }}
Filtro de dinheiro do Shopify versus filtro de dinheiro do Braze
O comportamento do filtro money do Shopify é diferente de como ele é usado no Braze. Consulte os exemplos a seguir para obter uma descrição precisa do comportamento esperado.
Caso esteja inserindo um atributo personalizado (como account_balance), você deve sempre usar o filtro money para colocar as casas decimais no lugar correto e evitar que os zeros caiam no final dos números:
1
${{custom_attribute.${account_balance} | money}}
| COM O FILTRO DE DINHEIRO | SEM O FILTRO DE DINHEIRO |
|---|---|
| !Com filtro de dinheiro | !Sem filtro de dinheiro |
Onde account_balance é a entrada em 17.8. |
Onde account_balance é a entrada em 17.8. |
O filtro money no Braze é diferente do Shopify porque não aplica automaticamente os pontos decimais de acordo com uma configuração predefinida. Por exemplo, considere o seguinte cenário em que rewards_redeemed contém um valor de 145:
1
${{event_properties.${rewards_redeemed} | money }}
1
$145.00
De acordo com o filtro de dinheiro da Shopify, isso deveria ter uma saída de $1.45, no entanto, no Braze, isso terá uma saída de $145.00. Como solução alternativa, podemos usar o filtro divided_by para manipular o número em um decimal, antes de aplicar o filtro de dinheiro:
1
${{event_properties.${rewards_redeemed} | divided_by: 100.00 | money }}
1
$1.45
Filtros de cadeia de caracteres
Os filtros de cadeia de caracteres são usados para manipular as saídas e as variáveis das cadeias de caracteres. As cadeias de caracteres são uma combinação de caracteres alfanuméricos e devem ser colocadas entre aspas retas.
As aspas retas são diferentes das aspas curvas no Liquid. Tenha cuidado ao copiar e colar o Liquid de um editor de texto no Braze, pois as aspas curvas causarão erros em seu Liquid. Se você estiver escrevendo seu Liquid diretamente no Braze, as cotações diretas serão aplicadas automaticamente.
| Filtro | Descrição | Com suporte |
|---|---|---|
| anexar | Acrescenta caracteres a uma cadeia de caracteres. | ✅ Sim |
| camelizar | Converte uma string em CamelCase. | ⛔ Não |
| capitalizar | Coloca a primeira palavra em maiúscula em uma cadeia de caracteres e reduz a minúscula dos caracteres restantes. | ✅ Sim |
| downcase | Converte uma cadeia de caracteres em letras minúsculas. | ✅ Sim |
| fuga | Escapa uma cadeia de caracteres. | ✅ Sim |
| manipular | Formata uma cadeia de caracteres em um identificador. | ⛔ Não |
| md5 | Converte uma string em um hash MD5. Para obter mais informações, consulte Filtros de codificação. | ✅ Sim |
| sha1 | Converte uma cadeia de caracteres em um hash SHA-1. Para obter mais informações, consulte Filtros de codificação. | ✅ Sim |
| hmac_sha1_hex (anteriormente hmac_sha_1) |
Converte uma cadeia de caracteres em um hash SHA-1 usando um código de autenticação de mensagem de hash (HMAC). Passe a chave secreta da mensagem como um parâmetro para o filtro. Para obter mais informações, consulte Filtros de codificação. | ✅ Sim |
| hmac_sha256 | Converte uma cadeia de caracteres em um hash SHA-256 usando um código de autenticação de mensagem de hash (HMAC). Passe a chave secreta da mensagem como um parâmetro para o filtro. | ✅ Sim |
| hmac_sha512 | Converte uma cadeia de caracteres em um hash SHA-512 usando um código de autenticação de mensagem de hash (HMAC). Passe a chave secreta da mensagem como um parâmetro para o filtro. | ✅ Sim |
| newline_to_br | Insere uma tag HTML de quebra de linha <br> na frente de cada quebra de linha em uma string. |
✅ Sim |
| pluralizar | Emite a versão singular ou plural de uma cadeia de caracteres em inglês com base no valor de um número. | ⛔ Não |
| prefixar | Anexa caracteres a uma cadeia de caracteres. | ✅ Sim |
| remover | Remove todas as ocorrências de uma substring de uma string. | ✅ Sim |
| remove_first | Remove apenas a primeira ocorrência de uma substring de uma string. | ✅ Sim |
| substituir | Substitui todas as ocorrências de uma cadeia de caracteres por uma substring. | ✅ Sim |
| replace_first | Substitui a primeira ocorrência de uma cadeia de caracteres por uma substring. | ✅ Sim |
| fatia | O filtro de fatia retorna uma substring, começando no índice especificado. | ✅ Sim |
| dividir | O filtro de divisão recebe uma substring como parâmetro. A substring é usada como um delimitador para dividir uma string em uma matriz. | ✅ Sim |
| faixa | Remove tabulações, espaços e novas linhas (todos os espaços em branco) dos lados esquerdo e direito de uma cadeia de caracteres. | ✅ Sim |
| lstrip | Remove tabulações, espaços e novas linhas (todos os espaços em branco) do lado esquerdo de uma cadeia de caracteres. | ⛔ Não |
| rstrip | Remove tabulações, espaços e novas linhas (todos os espaços em branco) do lado direito de uma cadeia de caracteres. | ⛔ Não |
| strip_html | Remove todas as tags HTML de uma string. | ✅ Sim |
| strip_newlines | Remove todas as quebras de linha/novas linhas de uma string. | ✅ Sim |
| truncar | Trunca uma cadeia de caracteres até o número de caracteres passado como o primeiro parâmetro. Uma elipse (…) é anexada à cadeia de caracteres truncada e incluída na contagem de caracteres. | ✅ Sim |
| truncatewords | Trunca uma cadeia de caracteres até o número de palavras passado como o primeiro parâmetro. Uma elipse (…) é anexada à cadeia de caracteres truncada. | ✅ Sim |
| caixa alta | Converte uma cadeia de caracteres em maiúsculas. | ✅ Sim |
Filtros adicionais
Os filtros gerais a seguir servem para muitas finalidades, incluindo a formatação ou a conversão de conteúdo.
| Filtro | Descrição | Com suporte |
|---|---|---|
| data | Converte um carimbo de data/hora em outro formato de data. Consulte Filtro de data para obter mais informações. | ✅ Sim |
| padrão | Define um valor padrão para qualquer variável sem valor atribuído. Pode ser usado com strings, matrizes e hashes. | ✅ Sim |
| format_address | Formata um endereço para imprimir os elementos do endereço em ordem, de acordo com sua localidade. | ⛔ Não |
| destaque | Envolve as palavras dentro dos resultados da pesquisa com uma tag HTML <strong> com o destaque da classe se corresponder aos termos de pesquisa enviados. |
⛔ Não |
Você pode encontrar mais filtros compatíveis, como filtros de codificação e de URL, em nossa página Advanced Filters (Filtros avançados ).
Filtro de data
O filtro date pode ser usado para converter um carimbo de data/hora em um formato de data diferente. Você pode passar parâmetros para o filtro date para reformatar o registro de data e hora. Para obter exemplos desses parâmetros, consulte strfti.me.
Por exemplo, digamos que o valor de date_attribute seja o registro de data e hora 2021-06-03 17:13:41 UTC.
1
{{custom_attribute.${date_attribute} | date: '%b %d'}}
1
03 June
Além das opções de formatação do site strftime, o Braze também suporta a conversão de um carimbo de data/hora para a hora Unix com o filtro de data %s. Por exemplo, para obter o date_attribute em tempo Unix:
1
{{custom_attribute.${date_attribute} | date: '%s' }}
1
1433351621
Editar esta página no GitHub