控制流
控制流标记(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
为 if
或 unless
添加更多状态判断。
输入
<!-- 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