控制流

控制流标记(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