注文状況ページに代引きの時だけメッセージを表示したい

AI-generated summary

注文状況ページで、代引き時のみ注意メッセージを表示したいという相談。最初に試した transaction.gateway == "Cash on Delivery (COD)" の条件分岐では表示されず、else 側だけ出ることから、判定対象の指定が誤っていると判明しました。

主な修正点:
・<script></script> は不要。
・transaction は単一オブジェクトではなく配列として扱う必要があり、checkout.transactions[0].gateway または transactions[0].gateway を参照する。
・必要に応じて for 文で checkout.transactions / transactions をループして判定する。

その後、コードを修正して Shopify.Checkout.OrderStatus.addContentBox(...) 内にメッセージを表示できることを確認。添付画像は、編集画面と実際の表示結果の確認に使われていました。

途中で endfor に赤い点線が出る懸念もありましたが、最終的にこれはブラウザの英文スペルチェックであり、コードエラーではないと判明。問題は実質解決済みです。

お世話になります。

注文状況ページに代引きの時だけメッセージを表示するために、
こちらのヘルプを参考にしてコードを書いてみたのですが、表示されませんでした。
(参考)https://help.shopify.com/ja/manual/orders/status-tracking/customize-order-status/order-status-javascript-asset

チェックアウトの追加スクリプトに書いたコードがこちらです。

どなたかご教授ください!宜しくお願い致します。

が不要なのではないでしょうか?

osamu_iwasaki様

返信ありがとうございます。
お返事が遅くなりまして、申し訳ございません。

を削除しても表示されないのですが、他に考えられることはございますでしょうか?
を削除し、{% else %}を追加したところ、{% else %}の内容が表示されたので、ifの条件設定を間違えているようです。

代引きの時のみメッセージを表示させる方法が分かる方がいらっしゃいましたら、教えていただけますと幸いです。

追加スクリプトに追加したコード
{% if transaction.gateway == “Cash on Delivery (COD)” %}
Shopify.Checkout.OrderStatus.addContentBox(

代金引換料金が別途発生いたします

) {% else %}

追加スクリプトテスト

{% endif %}

transactionオブジェクトが配列になっていたため、0番目指定で単独で出すか、

{{ checkout.transactions[0].gateway }}
{{ transactions[0].gateway }}

もしくはfor文で抜き出すと出てきました。

{% for transaction in checkout.transactions %}
{{ transaction.gateway }}
{% endfor %}

{% for transaction in transactions %}
{{ transaction.gateway }}
{% endfor %}

osamu_iwasaki様

再度返信をいただきまして、ありがとうございます。

教えていただいたコードを元に書いてみました。

endforのところに赤い点線が出ているのが気になりましたが、注文状況ページに文章を表示させることができました!
ありがとうございます!

表示させることができたのですが、コード編集初心者のため、これで正しいのか不安なのですが大丈夫でしょうか?

コードを以下のように修正することで、コンテンツボックス内に文章を表示することが出来ました。
相変わらずendforに赤い点線が入っているため、不安が残ります。

「赤い点線」これ今まで気づいてませんでしたが、「通知メール」のカスタマイズでも出てますね。
これが何を指し示してるのか分かりませんが、機能してるので無視していいとは思います。

分かりました。

ブラウザの 英文自動スペルチェックでした。これをオフにすると消えます。

osamu_iwasaki様

返信ありがとうございます!

赤い点線はコードエラーで出ているものではなかったのですね。
安心致しました。

この度は丁寧に対応していただきまして、ありがとうございました。

本当に助かりました!