Esta página fue traducida automáticamente y puede contener errores. Para reportar un error de traducción,
abre un issue en GitHub.
Establecer valores predeterminados
Se pueden establecer valores alternativos predeterminados para cualquier atributo de personalización que uses en tus mensajes. Este artículo explica cómo funcionan los valores predeterminados, cómo configurarlos y cómo usarlos en tus mensajes.
Cómo funcionan
Los valores predeterminados se pueden añadir especificando un filtro Liquid (usa | para distinguir el filtro en línea, como se muestra) con el nombre “default.”
1
| | default: 'Insert Your Desired Default Here'
|
Si no se proporciona un valor predeterminado y el campo no existe o no está configurado en el usuario, el campo aparecerá en blanco en el mensaje.
El siguiente ejemplo muestra la sintaxis correcta para añadir un valor predeterminado. En este caso, las palabras “Valued User” reemplazarán el atributo {{ ${first_name} }} si el campo first_name del usuario está vacío o no está disponible.
1
| Hi {{ ${first_name} | default: 'Valued User' }}, thanks for using the App!
|
Para una usuaria llamada Janet Doe, el mensaje aparecería como:
1
| Hi Janet, thanks for using the App!
|
O…
1
| Hi Valued User, thanks for using the App!
|
Importante:
El valor predeterminado se mostrará para valores vacíos (empty), pero no para valores en blanco (blank). Un valor vacío no contiene nada, mientras que un valor en blanco contiene caracteres de espacio en blanco (como espacios) y ningún otro carácter. Por ejemplo, una cadena vacía podría verse como "" y una cadena en blanco podría verse como " ".
Establecer valores predeterminados para diferentes tipos de datos
El ejemplo anterior muestra cómo establecer un valor predeterminado para una cadena. Puedes establecer valores predeterminados para cualquier tipo de datos Liquid que tenga el valor empty, nil (indefinido) o false, lo que incluye cadenas, booleanos, arrays, objetos y números.
Caso de uso: booleanos
Supongamos que tienes un atributo personalizado booleano llamado premium_user y quieres enviar un mensaje personalizado basado en el estado premium del usuario. Algunos usuarios no tienen un estado premium configurado, por lo que necesitarás establecer un valor predeterminado para contemplar a esos usuarios.
- Asignarás una variable llamada
is_premium_user al atributo premium_user con un valor predeterminado de false. Esto significa que si premium_user es nil, el valor de is_premium_user será false de forma predeterminada.
1
| {% assign is_premium_user = {{custom_attribute.${premium_user}}} | default: false %}
|
- Luego, usa lógica condicional para especificar el mensaje a enviar si
is_premium_user es true. En otras palabras, qué enviar si premium_user es true. También asignarás un valor predeterminado al nombre del usuario, en caso de que no tengamos su nombre.
1
2
| {% if is_premium_user %}
Hi {{${first_name} | default: 'premium user'}}, thank you for being a premium user!
|
- Finalmente, especifica qué mensaje enviar si
is_premium_user es false (lo que significa que premium_user es false o nil). Luego cerrarás la 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
Supongamos que tienes un atributo personalizado numérico llamado reward_points y quieres enviar un mensaje con los puntos de recompensa del usuario. Algunos usuarios no tienen puntos de recompensa configurados, por lo que necesitarás establecer un valor predeterminado para contemplar a esos usuarios.
- Comienza el mensaje dirigiéndote al nombre del usuario o con un valor predeterminado de
Valued User, en caso de que no tengas su nombre.
1
| Hi {{${first_name} | default: 'valued user'}},
|
- Termina el mensaje con la cantidad de puntos de recompensa que tiene el usuario usando el atributo personalizado llamado
reward_points y el valor predeterminado de 0. Todos los usuarios cuyo reward_points tenga un valor nil tendrán 0 puntos de recompensa en el mensaje.
1
| Hi {{${first_name} | default: 'valued user'}}, you have {{custom_attribute.${reward_points} | default: 0}} reward points.
|
Caso de uso: objetos
Supongamos que tienes un objeto de atributo personalizado anidado llamado location que contiene las propiedades city y state. Si alguna de estas propiedades no está configurada, quieres animar al usuario a proporcionarlas.
- Dirígete al usuario por su nombre e incluye un valor predeterminado, en caso de que no tengas su nombre.
1
| Hi {{${first_name} | default: 'valued user'}},
|
- Escribe un mensaje que diga que te gustaría confirmar la ubicación del usuario.
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.
|
- Inserta la ubicación del usuario en el mensaje y asigna valores predeterminados para cuando la propiedad de dirección no esté configurada.
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
Supongamos que tienes un atributo personalizado de tipo array llamado upcoming_trips que contiene viajes con las propiedades destination y departure_date. Quieres enviar a los usuarios mensajes personalizados según si tienen viajes programados.
- Escribe lógica condicional para especificar que no se debe enviar un mensaje si
upcoming_trips está empty.
1
2
| {% if {{custom_attribute.${upcoming_trips}}} == empty %}
{% abort_message('No upcoming trips scheduled') %}
|
- Especifica qué mensaje enviar si
upcoming_trips tiene contenido:
2a. Dirígete al usuario e incluye un valor predeterminado, en caso de que no tengas su nombre.
2b. Usa una etiqueta for para especificar que extraerás propiedades (o información) de cada viaje contenido en upcoming_trips.
2c. Enumera las propiedades en el mensaje e incluye un valor predeterminado para cuando departure_date no esté configurado. (Supongamos que destination es obligatorio para crear un viaje, por lo que no necesitas establecer un valor predeterminado para eso.)
2d. Cierra la etiqueta for y luego cierra la 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 %}
|