Operators
Liquid has access to all of the logical and comparison operators. These can be used in tags such as if and unless.
Basic Operators
== | equals |
!= | does not equal |
> | greater than |
< | less than |
>= | greater than or equal to |
<= | less than or equal to |
or | condition A or condition B |
and | condition A and condition B |
examples
{% if product.name == "Awesome Shoes" %}
These shoes are awesome!
{% endif %}
Operators can be chained together.
{% if product.name == "Shirt" or product.name == "Shoes" %}
This is a shirt or a shoe.
{% endif %}
The 'contains' Operator
contains checks for the presence of a substring inside a string.
{% if product.name contains 'Pack' %}
This product's name contains the word Pack.
{% endif %}
contains can also check for the presence of a string in an array of strings.
<!-- assume product.tags returns an array of tags. -->
{% if product.tags contains 'Hello' %}
This product has been tagged with 'Hello'.
{% endif %}
You cannot check for the presence of an object in an array of objects using contains. This will not work:
{% if product_category.products contains 'Awesome Shoes' %}
One of the products in this category is Awesome Shoes.
{% endif %}
This will work:
{% assign in_product_category = false %}
{% for product in product_category.products %}
{% if in_product_category == false and product.name == 'Awesome Shoes' %}
{% assign in_product_category = true %}
{% endif %}
{% endfor %}
{% if in_product_category %}
One of the products in this category is Awesome Shoes.
{% endif %}