Control flow

Control flow tags can change the information DotLiquid shows using programming logic.

if

Executes a block of code only if a certain condition is true.

Input

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

Output

These shoes are awesome! 

unless

The opposite of if – executes a block of code only if a certain condition is not met.

Input

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

Output

These shoes are not awesome.

This would be the equivalent of doing the following:

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

elsif / else

Adds more conditions within an if or unless block.

Input

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

Output

Hey Anonymous!

case/when

Creates a switch statement to compare a variable with different values. case initialises the switch statement, and when compares its values.

Input

{% 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 %}

Output

This is a cake
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Please sign in to leave a comment.