FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

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

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

A31
新規メンバー
4 0 0

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

{%- if product.available -%} 部分に以下
{%- if product.compare_at_price > product.price -%}
<span class="ProductItem__Label ProductItem__Label--onSale Heading Text--subdued">{{ 'product.labels.on_sale' | t }}</span>
<!-- 割引率表示の追加 -->
{% assign discount = product.compare_at_price | minus: product.price %}
{% assign discount_percentage = discount | divided_by: product.price | times: 100 | round %}
<span class="ProductItem__Label ProductItem__Label--discount Heading Text--subdued">{{ discount_percentage }}% OFF</span>
{%- endif -%}
{%- else -%}
<span class="ProductItem__Label ProductItem__Label--soldOut Heading Text--subdued">{{ 'product.labels.sold_out' | t }}</span>
{%- endif -%}

 

というような形で<!-- 割引率表示の追加 -->以下4行を追加しました。

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

スクリーンショット 2024-06-06 100249.png

 

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

 

1件の返信1

Takase_R
Shopify Partner
30 11 11

はじめまして、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 %}
 
R.Takase
テーマのカスタマイズなどお手伝いできます。
https://liquid-guidebook.dev/