複数の条件付きのLiquidでif
ステートメントを使用したい。何かのようなもの:
{% if (include.featured == "true" and product.featured == "true") or (include.featured == "false" and product.featured == "false") %}
複数の条件は機能しないようです。構文が間違っているか、Liquidがこの種のifステートメントを処理できませんか?
残念ながら、Liquidはブール代数の実装が貧弱です。
Liquidの 演算子 および tags を使用して、これを達成するための汚い方法を次に示します。
{% 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 %}
これを凝縮できる別の方法は、else ifステートメントを結合することです。ブール値は、trueを評価するときに必ずしも「==」を必要としません。
{% if include.featured and product.featured %}
{% assign test = true %}
{% elsif include.featured == false and product.featured == false %}
{% assign test = false %}
{% endif %}