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