if-statement - que - sentencia if ejemplos
Cómo usar argumentos múltiples en una declaración if con Líquido (2)
Quiero usar una declaración if
en Líquido con condicionales múltiples. Algo como:
{% if (include.featured == "true" and product.featured == "true") or (include.featured == "false" and product.featured == "false") %}
Los condicionales múltiples no parecen funcionar. ¿Tengo mal la sintaxis o Liquid no puede manejar este tipo de enunciado if?
Desafortunadamente, Liquid tiene una implementación pobre de álgebra booleana.
Usando los operators y las tags Liquid, aquí hay una manera sucia de lograrlo:
{% if include.featured == true and product.featured == true %}
{% assign test = true %}
{% endif %}
{% if include.featured == false and product.featured == false %}
{% assign test = true %}
{% endif %}
{% if test %}
Yepeeee!
{% endif %}
Otra forma de condensar esto es combinar declaraciones else if, y booleanos no necesariamente necesitan el "==" al evaluar true:
{% if include.featured and product.featured %}
{% assign test = true %}
{% elsif include.featured == false and product.featured == false %}
{% assign test = false %}
{% endif %}