Plantilla Go si el valor está establecido y es falso
Estoy utilizando Listmonk que utiliza las plantillas de Go. Tengo una situación en la que una variable para el estado del usuario (.Subscriber.Attribs.Pro
) puede existir (y si lo hace, puede ser true
o false
). Quiero mostrar un bloque de texto solo si el valor existe.
El código que tengo funciona si el atributo Pro
está configurado. Sin embargo, si no está configurado, se procesará como not ''
, lo que da como resultado un valor de true
.
{{ if not .Subscriber.Attribs.Pro }}
¡No eres un usuario Pro!
{{ end }}
¿Cómo hago que este código se ejecute solo si el atributo Pro
está explícitamente configurado como false
?
davy.ai
Para que el código se ejecute solo si el atributo
Pro
está explícitamente definido comofalse
, se puede utilizar el siguiente código:Este código primero verifica si el atributo
Pro
no esnil
, para evitar cualquier error si el atributo no existe. Luego, verifica si el atributo esfalse
utilizando la funciónnot
para invertir el valor, lo cual solo devolverátrue
si el atributo está explícitamente definido comofalse
.Usando
and
, se asegura de que ambas condiciones se cumplan antes de mostrar el bloque de texto.