控制流

控制流标记(control flow tag)能够根据编程逻辑改变 Liquid 输出的信息。

if

只有当某个条件为 true 时才执行一段代码。

输入


{% if product.title == 'Awesome Shoes' %}
  These shoes are awesome!
{% endif %}

输出

These shoes are awesome!

unless

if 相对 – 只有当某个条件成立时才执行一段代码。

输入


{% unless product.title == 'Awesome Shoes' %}
  These shoes are not awesome.
{% endunless %}

输出

These shoes are not awesome.

和如下实例的执行结果一致:


{% if product.title != 'Awesome Shoes' %}
  These shoes are not awesome.
{% endif %}

elsif / else

ifunless 添加更多状态判断。

输入


<!-- If customer.name = 'anonymous' -->
{% if customer.name == 'kevin' %}
  Hey Kevin!
{% elsif customer.name == 'anonymous' %}
  Hey Anonymous!
{% else %}
  Hi Stranger!
{% endif %}

输出

Hey Anonymous!

case/when

创建一个开关表达式,用于将一个变量和多个不同值进行比较。case 用于初始化一个开关表达式,when 用于比较他们的值。

输入


{% assign handle = 'cake' %}
{% case handle %}
  {% when 'cake' %}
     This is a cake
  {% when 'cookie' %}
     This is a cookie
  {% else %}
     This is not a cake nor a cookie
{% endcase %}

输出

This is a cake