Control Flow Tags
Tags luồng điều khiển sẽ quyết định khối mã nào được thực hiện dựa trên các điều kiện khác nhau
if
Thực hiện một khối mã chỉ khi một điều kiện nào đó được đáp ứng.
Input
{% if product.title == 'Awesome Shoes' %}
These shoes are awesome!
{% endif %}
Output
These shoes are awesome!
elsif / else
Thêm các điều kiện vào trong một khối if hay unless.
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
Tạo nên một câu chuyển đổi để so sánh một biến số với các giá trị khác nhau. case khởi chạy câu chuyển đổi, và when so sánh các giá trị của nó.
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
unless
Tương tự với if, nhưng thực hiện một khối mã chỉ khi một điều kiện nhất định không được đáp ứng.
Input
{% unless product.title == 'Awesome Shoes' %}
These shoes are not awesome.
{% endunless %}
Output
These shoes are not awesome.
Điều này có thể thực hiện tương đương bằng câu điều kiện If như dưới đây:
{% if product.title != 'Awesome Shoes' %}
These shoes are not awesome.
{% endif %}