# ¿Cómo usar condiciones para mostrar u ocultar contenido?

> Usa condiciones if/else de Liquid en el asunto y cuerpo del email para mostrar, ocultar o cambiar contenido según los datos de cada destinatario.

SecureMailMerge personaliza tus correos electrónicos con plantillas [Liquid](https://liquidjs.com/). Además de tokens simples como `{{FirstName}}`, puedes usar **conditions** (condiciones) para mostrar, ocultar o cambiar bloques de contenido según los datos de cada destinatario.

Las condiciones funcionan tanto en la **subject line** (línea de asunto) como en el **email body** (cuerpo del correo).
## Básico if / endif

Envuelve el contenido que quieres hacer opcional entre una etiqueta de apertura `{% if %}` y una etiqueta de cierre `{% endif %}`. La condición se verifica contra el valor en la columna nombrada para cada destinatario.

```liquid
{% if Country == "Germany" %}
  Versand erfolgt aus unserem Lager in Berlin.
{% endif %}
```

El bloque solo se incluye para los destinatarios cuya columna `Country` es igual a `Germany`. Todos los demás no ven nada en su lugar.

Los valores de cadena deben estar entre comillas (`"Germany"` o `'Germany'`). Los números se escriben sin comillas.
## La capitalización, los espacios y las comillas inteligentes no importan

Las condiciones son flexibles, así que pequeñas diferencias entre tu plantilla y tu hoja de cálculo no impedirán que una condición coincida:

- **Los nombres de las columnas no distinguen mayúsculas de minúsculas.** `{% if new == "TRUE" %}` coincide con una columna titulada `New`, `NEW` o `new`. No tienes que coincidir exactamente con la capitalización de tu encabezado.
- **Las comparaciones de texto ignoran la capitalización y los espacios alrededor.** Una condición como `{% if New == "TRUE" %}` coincide con una celda que contiene `TRUE`, `true` o incluso `  True `. Los valores se comparan sin importar mayúsculas o minúsculas ni espacios al principio o al final.
- **Las comillas rectas y las comillas curvas se tratan igual.** Si tu editor convierte automáticamente tus comillas rectas (`"TRUE"`) en comillas "inteligentes" curvas (`“TRUE”`), la condición sigue funcionando.

```liquid
{% if new == "TRUE" %}
  Welcome aboard! Here's what to do first.
{% endif %}
```

El ejemplo anterior coincide tanto si tu columna se llama `New` o `new`, como si la celda dice `TRUE`, `true` o ` True `.
## Añadiendo una rama else

Usa `{% else %}` para proporcionar contenido alternativo cuando la condición sea falsa.

```liquid
{% if Plan == "Premium" %}
  Thanks for being a Premium customer, your priority support line is +1 555 0100.
{% else %}
  Need a hand? Reply to this email and we'll help out.
{% endif %}
```
## Múltiples ramas con elsif

Encadena varias condiciones con `{% elsif %}`. La primera rama que coincida gana.

```liquid
{% if Tier == "Gold" %}
  You've unlocked our Gold benefits.
{% elsif Tier == "Silver" %}
  You're on the Silver plan.
{% else %}
  Welcome aboard!
{% endif %}
```
## Operadores de comparación

Puedes comparar valores de columnas con cualquiera de estos operadores:

| Operador | Significado |
| --- | --- |
| `==` | igual a |
| `!=` | diferente de |
| `>` | mayor que |
| `<` | menor que |
| `>=` | mayor o igual que |
| `<=` | menor o igual que |

```liquid
{% if OrderTotal >= 100 %}
  You qualify for free shipping!
{% endif %}
```
## Combinar condiciones con and / or

Usa `and` y `or` para probar más de una columna a la vez.

```liquid
{% if Country == "USA" and Plan == "Premium" %}
  Your US Premium perks are active.
{% endif %}
```
## Comprobar si una celda tiene un valor

En Liquid una celda vacía sigue siendo "truthy", por lo que `{% if Notes %}` **no** es una forma confiable de comprobar si hay un valor. Usa `blank` en su lugar, que coincide con celdas vacías y celdas que contienen solo espacios:

```liquid
{% if Notes != blank %}
  A note from your account manager: {{Notes}}
{% endif %}
```

Para hacer lo contrario, mostrar contenido solo cuando una celda está vacía, invierte la comparación:

```liquid
{% if PhoneNumber == blank %}
  We don't have a phone number on file. Reply to add one.
{% endif %}
```
## Nombres de columnas con espacios

Si el encabezado de tu columna contiene espacios (u otros caracteres especiales), haz referencia a él con notación de corchetes, de la misma manera que lo harías en un token normal:

```liquid
{% if ["Account Status"] == "Active" %}
  Your account is in good standing.
{% endif %}
```

Para tokens de combinación simples (fuera de una condición), ahora también puedes escribir directamente un encabezado que contenga espacios, sin los corchetes: `{{ First Name }}` funciona igual que `{{ ["First Name"] }}`.
## Coincidencia de parte de un valor con contains

`contains` verifica si un valor de texto incluye una subcadena.

```liquid
{% if Email contains "@gmail.com" %}
  Tip: add us to your Gmail contacts so we don't land in Promotions.
{% endif %}
```
## Invertir una condición con unless

`{% unless %}` es lo opuesto a `{% if %}`, el bloque se muestra solo cuando la condición es **falsa**.

```liquid
{% unless Country == "USA" %}
  International shipping rates apply.
{% endunless %}
```
## Elegir uno entre muchos valores con case / when

Cuando necesitas cambiar entre varios valores fijos, `{% case %}` es más limpio que una larga cadena `elsif`.

```liquid
{% case Language %}
  {% when "de" %}
    Vielen Dank für Ihre Bestellung!
  {% when "fr" %}
    Merci pour votre commande !
  {% else %}
    Thank you for your order!
{% endcase %}
```
## Consejos

- Las condiciones pueden envolver **cualquier** contenido, texto, enlaces, imágenes o incluso otros tokens.
- Los espacios en blanco y los saltos de línea dentro de los bloques `{% if %}` se mantienen, así que coloca tus etiquetas con cuidado para evitar líneas en blanco en el correo final.
- Puedes combinar condiciones con el filtro [default value](https://es.securemailmerge.com/help/specify-fallback-default-values-for-mail-merge/) para texto de reserva, y con el filtro [date formatting](https://es.securemailmerge.com/help/date-formatting-in-mail-merge/) para fechas.
- Siempre cierra cada etiqueta: `{% if %}` necesita `{% endif %}`, `{% unless %}` necesita `{% endunless %}`, y `{% case %}` necesita `{% endcase %}`. La falta de una etiqueta de cierre causa un [liquid syntax error](https://es.securemailmerge.com/help/error-liquid-syntax/).
