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

if関数について、一定の金額以上の場合に表示させたい

解決済

if関数について、一定の金額以上の場合に表示させたい

A_a11
Shopify Partner
5 0 1

初歩的ですみません。

orderprinterを使用しているんですが、納品書に代引き決済の場合の手数料を追記したいです。

※「代引き手数料の場合」のコード部分は他の決済の場合の明細書と分けるので不要です

 

代引き決済手数料として、税込で0~30,000円未満なら400円、30,000円以上〜60,000円未満なら500円かかります。

※60,000以上は代引き対応していませんが、それは別途対応しているので不要です

 

orderprinterで作成する明細表で、金額の部分に以下のように設定しています。

ーーーーーーーーーーーーー

<h3 style="margin: 0 0 1em 0;">お支払い内訳</h3>

<table class="table-tabular" style="margin: 0 0 1.5em 0;">
<tr>
<td>小計 (税込):</td>
<td>{{ subtotal_price | money }}</td>
</tr>
{% for discount in discounts %}
<tr>
<td>割引コード "{{ discount.code }}"</td>
<td>{{ discount.savings | money }}</td>
</tr>
{% endfor %}
<tr>
<td>(内消費税):</td>
<td>{{ tax_price | money }}</td>
</tr>

{% if shipping_address %}
<tr>
<td>送料 (税込):</td>
<td>{{ shipping_price | money }}</td>
</tr>
{% endif %}

<!-- 代引き決済手数料の設定と表示 -->
{% assign total_price_with_tax = cart.total_price | divided_by: 100 %} <!-- 合計金額を取得 -->

<tr>
<td>代引き決済手数料:</td>
<td>
{% if total_price_with_tax < 30000 %}
¥400
{% elsif total_price_with_tax >= 30000 and total_price_with_tax < 60000 %}
¥500
{% endif %}
</td>
</tr>

<!-- 総合計額の計算と表示 (代引き決済手数料を含む) -->
<tr>
<td><strong>総合計 (税込):</strong></td>
<td>
<strong>
{% if total_price_with_tax < 30000 %}
{{ total_price | plus: 400 | money }}
{% elsif total_price_with_tax >= 30000 and total_price_with_tax < 60000 %}
{{ total_price | plus: 500 | money }}
{% endif %}
</strong>
</td>
</tr>
</table>

ーーーーーーーーーーーーー

主に変更を加えている部分(問題になっている部分)が太字になります。

 

こちらで設定すると、

0~30,000円に関しては正しく400円と表記されますが、30,000円以上の買い物に対しても400円と表示されてしまいます。

また、合計金額で商品代+送料+代引き手数料をたした額を表示させたいんですが、商品代+送料+4円の合計額になってしまいます。

 

何か対処法はありますでしょうか。

よろしくお願いいたします。

1 件の受理された解決策

Qcoltd
Shopify Partner
1096 446 441

成功

@A_a11 様

 

{% assign total_price_with_tax = cart.total_price | divided_by: 100 %} <!-- 合計金額を取得 -->

 こちらですが、

cart.total_priceは、値を返しているでしょうか?

{{ cart.total_price }} で、合計金額が出力されているかご確認ください。

もし、されていないようでしたら、下記のようにされると良いかと思います。

{% assign total_price_with_tax = total_price | divided_by: 100 %} <!-- 合計金額を取得 -->

 

上記で100で除算していることからも分かる通り、

total_priceは100倍された金額が入っていますので、

{% if total_price_with_tax < 30000 %}
{{ total_price | plus: 400 | money }}
{% elsif total_price_with_tax >= 30000 and total_price_with_tax < 60000 %}
{{ total_price | plus: 500 | money }}

 は、

{% if total_price_with_tax < 30000 %}
{{ total_price | plus: 40000 | money }}
{% elsif total_price_with_tax >= 30000 and total_price_with_tax < 60000 %}
{{ total_price | plus: 50000 | money }}

 とされると良いかと思います。

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/

元の投稿で解決策を見る

2件の返信2

Qcoltd
Shopify Partner
1096 446 441

成功

@A_a11 様

 

{% assign total_price_with_tax = cart.total_price | divided_by: 100 %} <!-- 合計金額を取得 -->

 こちらですが、

cart.total_priceは、値を返しているでしょうか?

{{ cart.total_price }} で、合計金額が出力されているかご確認ください。

もし、されていないようでしたら、下記のようにされると良いかと思います。

{% assign total_price_with_tax = total_price | divided_by: 100 %} <!-- 合計金額を取得 -->

 

上記で100で除算していることからも分かる通り、

total_priceは100倍された金額が入っていますので、

{% if total_price_with_tax < 30000 %}
{{ total_price | plus: 400 | money }}
{% elsif total_price_with_tax >= 30000 and total_price_with_tax < 60000 %}
{{ total_price | plus: 500 | money }}

 は、

{% if total_price_with_tax < 30000 %}
{{ total_price | plus: 40000 | money }}
{% elsif total_price_with_tax >= 30000 and total_price_with_tax < 60000 %}
{{ total_price | plus: 50000 | money }}

 とされると良いかと思います。

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
A_a11
Shopify Partner
5 0 1

解決しました!大変助かりました、

ありがとうございました。