Liquid知識

【Shopify】Liquidでの計算方法(足し算・引き算・掛け算・割り算)

ShopifyのLiquid言語では一般的なプログラム言語で利用できる四則演算が利用できません。
Liquidで計算を行うには独自のフィルター使用する必要があります。

計算方法

フィルターの使い方はバーティカルバーで区切ったあとに使用したい文字列を記述します。

四則演算で利用する場合は、数値を一度変数に格納しないと計算ができませんのでご注意ください。

// 変数に格納してから計算を行います
{% assign price = product.price %}

足し算

{% assign price = 200 %}
{{ price | plus: 15 }}

// 出力結果
215

引き算

{% assign price = 200 %}
{{ price | minus: 15 }}

// 出力結果
185

掛け算

{% assign price = 200 %}
{{ price | times: 2 }}

// 出力結果
400

割り算

{% assign price = 200 %}
{{ price | divided_by: 10 }}

// 出力結果
20

計算の順番

フィルターは下記のように連続して記述することが可能です。

{% assign price = 200 %}
{{ price | minus: 15 | plus: 15 }}

// 出力結果
200

通常の四則演算では掛け算・割り算が優先的に行われますが、フィルターの場合は左から順番に計算が行われます。

下記のコードをご覧ください。

{% assign price = 200 %}
{{ price | minus: 100 | times: 2 }}

// 出力結果
200

こちらの計算を式にすると「200-100×2」のように表すことができます。
通常の四則演算であれば「100×2」が先に行われ「200-200」で計算結果は0になりますが、フィルターの場合は左から順番に行われるため計算結果は200になります。

まとめ

Liquidの計算方法はプログラミング言語や一般的な計算方法とは異なる点が多いです。

下記記事に四則演算を含めたMathフィルターがまとめられていますので、参考にしてみてください。