sentencia que programacion lenguaje instruccion else ejemplos if-statement jekyll liquid

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 %}