Shopify Liquid データタイプ Truthy and falsy

Liquidのでの Truthiness と falsiness 

もしbooleanではないデータタイプが 条件分岐などでboolean のように扱われたら、Liquid では true か false のどちらかとして評価する。 trueを返すようなデータタイプは truthy と呼び。 false を返すようなデータタイプは falsyと呼ぶ。

Tobiはbooleanじではないけど、truthy としての扱い。

{% assign name = "Tobi" %}
{% if name %}
  This text will always appear if "name" is defined.
{% endif %}

空のstringはtruthy。

settings.fp-headingは存在するが空の場合は以下のようになる。

{% if page.title %}
  <h1>{{ page.title }}</h1>
{% endif %}

出力がこうなる。

<h1> </h1>

これおを避けるにはif条件を使うと良い。

{% unless settings.fp_heading == blank %}
    <h1>{{ settings.fp_heading }}</h1>
{% endunless %}

EmptyDrop も truthyあつかい。 下記の例も

{% if pages[settings.page] %}
<div>{{ pages[settings.page].content }}</div>
{% endif %}

<div></div>

だけの出力になる。

Falsy

Liquid 内で Falsy となるのは nil と false の値だけ。

nil はLiquidオブジェクトがなにも持ってないときに返される値。

例えば コレクションに画像を設定してない場合は collection.image はnilを返す。

この場合コレクションに画像が設定してないので  if文が falseなので何も出力しない。

こんな感じ

{% if collection.image %}
{{ collection.image}}
{% endif %}

falseの値はliquid objectのプロパティで通じてたくさんでてくる。

product.available など。

参考

https://shopify.dev/docs/themes/liquid/reference/basics/true-and-false

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top