カラーミーショップで商品一覧ページや商品詳細ページに掛け率や割引率を計算して表示する方法

メモ

カラーミーショップを利用して卸売サイトを作っているんですが、その際に掛け率(割引率)を表示したいなーなんて思ったのです。

そんなわけで、カラーミーショップで掛け率を表示する方法をメモっときます。

今回作っているのは卸売サイトというわけで、定価欄に上代を入れ、通常価格欄と会員価格欄に下代を入れる、というふうに商品登録をしてます。

商品詳細ページでそれぞれの価格を呼び出すにはこちらの変数名で呼び出します。

  • $product.price ⇒ 定価
  • $product.sales ⇒ 会員価格

このまま計算できそうな感じですが、これだとカラーミーでの設定にもよりますが、

1,800円

とか

1,800円(税込1,890円)

とか

1,890円(税90円)

とかになってて計算に使えません。
,とか円とか(とか税とか9とか0とか円とか)が邪魔なわけです。

そこで、こちらのコード!

<{assign var="price_regular" value=$product.price|regex_replace:"/円.*|[^0-9]/":""}>
<{assign var="price_orosi" value=$product.sales|regex_replace:"/円.*|[^0-9]/":""}>
<{math equation="round(('$price_orosi'/'$price_regular')*100)" assign="ratio"}>

ってやって

<{$ratio}>%

とやるとかけ率が表示できます。

最初の「円」以降の文字と数字以外の文字を消すようにしてあるので、どの設定でもできるはず・・・たぶん(未検証

割引率なら

<{assign var="price_regular" value=$product.price|regex_replace:"/円.*|[^0-9]/":""}>
<{assign var="price_orosi" value=$product.sales|regex_replace:"/円.*|[^0-9]/":""}>
<{math equation="round((1-('$price_orosi'/'$price_regular'))*100)" assign="ratio"}>

で割引率が表示できます。

商品一覧ページでも掛け率表示

そんなよくばりなあたなにはこちらのコード!

<{assign var="price_regular" value=$productlist&#91;num&#93;.teika|regex_replace:"/円.*|&#91;^0-9&#93;/":""}>
<{assign var="price_orosi" value=$productlist&#91;num&#93;.price|regex_replace:"/円.*|&#91;^0-9&#93;/":""}>
<{math equation="round(('$price_orosi'/'$price_regular')*100)" assign="ratio"}>
<{$ratio}>

というかんじで行けますぜー!
商品詳細ページと使う変数名が違うのでご注意あれ。

追記:
よく見たら割引率はもともと表示機能があったのでした。
自分のアーホー!

リンク:
カラーミー 独自タグ一覧

メモ」カテゴリの人気記事

  • [PHP]preg_replaceで正規表現を使った置換+後方参照のメモ 209 views
  • iMac(Early2008) 24インチのHDDをSSDに換装します iMac(Early 2008) 24インチをSSDに換装してみた 130 views
  • バラバラのiMac 2008 Early iMac 24インチ(Early 2008)を分解してHDDを交換してみた 98 views
  • 壊れちゃったHD-CN1.0TU2 HD-CN1.0TU2を分解する 66 views
  • MacからWindows共有プリンタを使うときのメモ 49 views
  • アウトドア&フィッシング ナチュラム

    こちらもどうぞ

  • iTunesで購入した音楽が認証・再生できないときの対処方法
  • セローにフォグランプPIAA MLSE1を付けたのでレビュー
  • Nikonの標準ズームレンズ24-85mmと24-120mmを比較してみる
  • 親指AFするよー D750の親指AF設定方法
  • ハーレーのミッションオイル交換手順