割引率の表示について(利用テーマ:Prestige 5.7.0)

割引前価格と販売価格(割引適用後価格)を商品ごとに入力したものに対して、「●%OFF」という表示が出るようにしたく、スぺニットの「product-item.liquid」内の

{%- if product.available -%} 部分に以下
{%- if product.compare_at_price > product.price -%}
{{ ‘product.labels.on_sale’ | t }}

{% assign discount = product.compare_at_price | minus: product.price %}
{% assign discount_percentage = discount | divided_by: product.price | times: 100 | round %}
{{ discount_percentage }}% OFF
{%- endif -%}
{%- else -%}
{{ ‘product.labels.sold_out’ | t }}
{%- endif -%}

というような形で以下4行を追加しました。

また、CSS部分に色の設定なども施していて、%表記まではきちんと出るのですが、0%という表示になってしまいます。

解決策をご教示いただきたいです。よろしくお願いいたします。

はじめまして、Takaseと申します。

おそらくですが、割引率の計算に問題があるように思われます。

割引率は下記の計算で出すことができます。

(割引前価格 - 価格) / 割引前価格 * 100

liquidに合わせて考えてみると
割引前価格 → product.compare_at_price
価格 → product.price

となり、計算式に当てはめると下記のようにになるかと思います。

{% assign discount = product.price | minus: product.compare_at_price %}

{% assign discount_percentage = discount | divided_by: product.compare_at_price | times: 100 %}