黒ブタBLOG

【shopify】liquidで計算・四則演算(足し算/引き算/掛け算/割り算)をする方法

liquidでは足し算(+)、引き算(-)、掛け算(*)、割り算(/)といった、一般的にプログラムで使われる【記号】での計算ができない。
ではどうやって計算するのかというとliquid独自のフィルター?を使って計算する。

・plus (足し算)
・minus (引き算)
・times (掛け算)
・divided_by (割り算)

使い方(変数に格納、出力)

足し算

1000 + 500 = 1500

計算

{%- assign addition = 1000 | plus : 500 -%}

出力コード

<p>{{addition}}円</p>

出力結果

1500円

引き算

1000 – 500 = 500

計算

{%- assign subtraction = 1000 | minus : 500 -%}

出力コード

<p>{{subtraction}}円</p>

出力結果

500円

掛け算

1000 × 2 = 2000
( 1000 * 2 =2000 )

計算

{%- assign multiplication = 1000 | times : 2 -%}

出力コード

<p>{{multiplication}}円</p>

出力結果

2000円

割り算

1000 ÷ 2 = 500
( 1000 / 2 = 500 )

計算

{%- assign division = 1000 | divided_by : 2 -%}

出力コード

<p>{{division}}円</p>

出力結果

500円

実際に値引率を%で表示してみる

例) 元値3,000円の商品が2,500円での販売価格だとする

売値の取得:product.price
値引き前価格の取得:product.compare_at_price_max

※liquidの計算では小数点以下が切り捨てられてしまうので、予め販売価格に100を掛けておく

計算

{%- assign discountrate = product.price | times : 100 | divided_by : product.compare_at_price_max -%}

出力コード

<p>{{discountrate}}%OFF</p>

出力結果
17%OFF