Esta página foi traduzida automaticamente e pode conter imprecisões. Para relatar um erro de tradução,
abra um issue no GitHub.
Definir valores padrão
Valores de fallback padrão podem ser definidos para qualquer atributo de personalização que você usa nas suas mensagens. Este artigo aborda como os valores padrão funcionam, como configurá-los e como usá-los nas suas mensagens.
Como funcionam
Valores padrão podem ser adicionados especificando um filtro Liquid (use | para distinguir o filtro inline, conforme mostrado) com o nome “default.”
1
| | default: 'Insert Your Desired Default Here'
|
Se um valor padrão não for fornecido e o campo estiver ausente ou não definido no usuário, o campo ficará em branco na mensagem.
O exemplo a seguir mostra a sintaxe correta para adicionar um valor padrão. Neste caso, as palavras “Valued User” substituirão o atributo {{ ${first_name} }} se o campo first_name do usuário estiver vazio ou indisponível.
1
| Hi {{ ${first_name} | default: 'Valued User' }}, thanks for using the App!
|
Para uma usuária chamada Janet Doe, a mensagem apareceria como:
1
| Hi Janet, thanks for using the App!
|
Ou…
1
| Hi Valued User, thanks for using the App!
|
Importante:
O valor padrão será exibido para valores vazios (empty), mas não para valores em branco (blank). Um valor vazio não contém nada, enquanto um valor em branco contém caracteres de espaço em branco (como espaços) e nenhum outro caractere. Por exemplo, uma string vazia pode ser "" e uma string em branco pode ser " ".
Definindo valores padrão para diferentes tipos de dados
O exemplo acima mostra como definir um valor padrão para uma string. Você pode definir valores padrão para qualquer tipo de dado Liquid que tenha o valor empty, nil (indefinido) ou false, incluindo strings, booleanos, arrays, objetos e números.
Caso de uso: booleanos
Digamos que você tenha um atributo personalizado booleano chamado premium_user e queira enviar uma mensagem personalizada com base no status premium do usuário. Alguns usuários não têm um status premium definido, então você precisará configurar um valor padrão para capturar esses usuários.
- Você vai atribuir uma variável chamada
is_premium_user ao atributo premium_user com um valor padrão de false. Isso significa que, se premium_user for nil, o valor de is_premium_user será false por padrão.
1
| {% assign is_premium_user = {{custom_attribute.${premium_user}}} | default: false %}
|
- Em seguida, use lógica condicional para especificar a mensagem a ser enviada se
is_premium_user for true. Em outras palavras, o que enviar se premium_user for true. Você também vai atribuir um valor padrão ao nome do usuário, caso não tenhamos o nome dele.
1
2
| {% if is_premium_user %}
Hi {{${first_name} | default: 'premium user'}}, thank you for being a premium user!
|
- Por fim, especifique qual mensagem enviar se
is_premium_user for false (o que significa que premium_user é false ou nil). Depois, feche a lógica condicional.
1
2
3
| {% else %}
Hi {{${first_name} | default: 'valued user'}}, consider upgrading to premium for more benefits!
{% endif %}
|
Código Liquid completo
1
2
3
4
5
6
| {% assign is_premium_user = {{custom_attribute.${premium_user}}} | default: false %}
{% if is_premium_user %}
Hi {{${first_name} | default: 'premium user'}}, thank you for being a premium user!
{% else %}
Hi {{${first_name} | default: 'valued user'}}, consider upgrading to premium for more benefits!
{% endif %}
|
Caso de uso: números
Digamos que você tenha um atributo personalizado numérico chamado reward_points e queira enviar uma mensagem com os pontos de recompensa do usuário. Alguns usuários não têm pontos de recompensa definidos, então você precisará configurar um valor padrão para contemplar esses usuários.
- Comece a mensagem se dirigindo ao nome do usuário ou a um valor padrão de
Valued User, caso você não tenha o nome dele.
1
| Hi {{${first_name} | default: 'valued user'}},
|
- Termine a mensagem com a quantidade de pontos de recompensa que o usuário possui, usando o atributo personalizado chamado
reward_points e o valor padrão de 0. Todos os usuários cujo reward_points tiver valor nil terão 0 pontos de recompensa na mensagem.
1
| Hi {{${first_name} | default: 'valued user'}}, you have {{custom_attribute.${reward_points} | default: 0}} reward points.
|
Caso de uso: objetos
Digamos que você tenha um objeto de atributo personalizado aninhado chamado location que contém as propriedades city e state. Se alguma dessas propriedades não estiver definida, você quer incentivar o usuário a fornecê-las.
- Dirija-se ao usuário pelo nome e inclua um valor padrão, caso você não tenha o nome dele.
1
| Hi {{${first_name} | default: 'valued user'}},
|
- Escreva uma mensagem dizendo que você gostaria de confirmar o local associado à conta do usuário.
1
| We'd like to confirm the location associated with your account. We use this location to send you promotions and offers for stores nearest you. You can update your location in your profile settings.
|
- Insira o local do usuário na mensagem e atribua valores padrão para quando a propriedade de endereço não estiver definida.
1
2
3
| Your location:
City: {{custom_attribute.${address.city} | default: 'Unknown'}}
State: {{custom_attribute.${address.state} | default: 'Unknown'}}
|
Código Liquid completo
1
2
3
4
5
6
7
| Hi {{${first_name} | default: 'valued user'}}
We'd like to confirm the location associated with your account. We use this location to send you promotions and offers for stores nearest you. You can update your location in your profile settings.
Your location:
City: {{custom_attribute.${address.city} | default: 'Unknown'}}
State: {{custom_attribute.${address.state} | default: 'Unknown'}}
|
Caso de uso: arrays
Digamos que você tenha um atributo personalizado de array chamado upcoming_trips que contém viagens com as propriedades destination e departure_date. Você quer enviar mensagens personalizadas aos usuários com base em se eles têm viagens agendadas.
- Escreva uma lógica condicional para especificar que uma mensagem não deve ser enviada se
upcoming_trips estiver empty.
1
2
| {% if {{custom_attribute.${upcoming_trips}}} == empty %}
{% abort_message('No upcoming trips scheduled') %}
|
- Especifique qual mensagem enviar se
upcoming_trips tiver conteúdo:
2a. Dirija-se ao usuário e inclua um valor padrão, caso você não tenha o nome dele.
2b. Use uma tag for para especificar que você extrairá propriedades (ou informações) de cada viagem contida em upcoming_trips.
2c. Liste as propriedades na mensagem e inclua um valor padrão para quando departure_date não estiver definido. (Digamos que destination seja obrigatório para a criação de uma viagem, então você não precisa definir um valor padrão para ele.)
2d. Feche a tag for e depois feche a lógica condicional.
1
2
3
4
5
6
7
8
9
10
11
12
| {% else %}
Hello {{${first_name} | default: 'fellow traveler'}},
Here are your upcoming trips:
<ul>
{% for trip in {{custom_attribute.${upcoming_trips}}} %}
<li>
Destination: {{trip.destination}}
Departure Date: {{trip.departure_date | default: 'Date not set'}}
</li>
{% endfor %}
</ul>
{% endif %}
|
Código Liquid completo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| {% if {{custom_attribute.${upcoming_trips}}} == blank %}
{% abort_message('No upcoming trips scheduled') %}
{% else %}
Hello {{${first_name} | default: 'fellow traveler'}},
Here are your upcoming trips:
<ul>
{% for trip in {{custom_attribute.${upcoming_trips}}} %}
<li>
Destination: {{trip.destination}}
Departure Date: {{trip.departure_date | default: 'Date not set'}}
</li>
{% endfor %}
</ul>
{% endif %}
|