Files
liquid/_posts/basics/operators.md
2014-07-23 11:17:11 -04:00

2.8 KiB

layout, title, nav
layout title nav
default Operators
group weight
Liquid Variables 3

Operators

Liquid has access to all of the logical and comparison operators. These can be used in tags such as if and unless.

{% table_of_contents %}

{% anchor_link "Basic Operators", "basic-operators" %}

</tr>
<tr>
  <td><pre>&lt;=</pre></td>
  <td>less than or equal to</td>
</tr>
<tr>
  <td><pre>or</pre></td>
  <td>condition A <strong>or</strong> condition B</td>
</tr>
<tr>
  <td><pre>and</pre></td>
  <td>condition A <strong>and</strong> condition B</td>
</tr>
</tbody>
==
equals
!=
does not equal
>
greater than
<
less than
>=
greater than or equal to

Examples:

{% highlight html %}{% raw %} {% if product.title == "Awesome Shoes" %} These shoes are awesome! {% endif %} {% endraw %}{% endhighlight %}

Operators can be chained together.

{% highlight html %}{% raw %} {% if product.type == "Shirt" or product.type == "Shoes" %} This is a shirt or a shoe. {% endif %} {% endraw %}{% endhighlight %}

{% anchor_link "The 'contains' Operator", "contains" %}

contains checks for the presence of a substring inside a string.

{% highlight html %}{% raw %} {% if product.title contains 'Pack' %} This product's title contains the word Pack. {% endif %} {% endraw %}{% endhighlight %}

contains can also check for the presence of a string in an array of strings.

{% highlight html %}{% raw %} {% if product.tags contains 'Hello' %} This product has been tagged with 'Hello'. {% endif %} {% endraw %}{% endhighlight %}

You cannot check for the presence of an object in an array of objects using contains. This will not work:

{% highlight html %}{% raw %} {% if product.collections contains 'Sale' %} One of the collections this product belongs to is the Sale collection. {% endif %} {% endraw %}{% endhighlight %}

This will work:

{% highlight html %}{% raw %} {% assign in_sale_collection = false %} {% for collection in product.collections %} {% if in_sale_collection == false and collection.title == 'Sale' %} {% assign in_sale_collection = true %} {% endif %} {% endfor %} {% if in_sale_collection %} One of the collections this product belongs to is the Sale collection. {% endif %} {% endraw %}{% endhighlight %}