Liquid、JavaScriptなどに関する質問
Shopifyアプリ【Order Printer】を使用して領収書を作成しているのですが、
ストアの支払い方法は、Shopify PaymentのクレジットとPayPayとなっており。
それぞれの方法でお支払いされた時の領収書への表記を自動で反映させてたく以下のコードを書いているのですが、
<div class="details-item">
<p class="details-item__title">
明細
</p>
<p class="order-day__text">
ご注文日:{{ created_at | date: "%Y年%m月%d日" }}
</p>
<p class="order-number__text">
ご注文番号:{{ order_number }}
</p>
<p class="pay-methods__text">
お支払い方法:{{ payment_methods | replace: 'Shopify payments','クレジット決済' | replace:'["PayPay(オンライン決済)-SBペイメント"]','PayPay' | replace:'"]'| replace:'"',' '}}</p>
</div>
こちらですとliquidエラーが領収書に反映されてしまいます。
こちらの【お支払い方法:】の右横に支払い方法を反映させたいと思っています。
ご教示やアドバイスいただけると幸いです。
よろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
確認いただきありがとうございます。
当初記載いただいていたコードとは違いますが、以下も検討できるかもしれません。
transaction objectを用いているため、上記投稿の情報を利用するなら以下も確認されるとわかり良いと思います。
https://shopify.dev/docs/themes/liquid/reference/objects/transaction
前出のコードが使えるなら以下も参考になるかもしれません。
以上ですが、いずれも見当違いでしたら申し訳ありません。
成功
Order Printer アプリのテンプレートで使用できる変数は、
テンプレート編集画面左にあるリンク「View the Liquid variable list」のリンク先に
記載のあるものかと思いますので、お支払い方法は {{ gateway }} な気がしますが、
以下だといかがでしょうか。
Shopify Payments の場合は、shopify_payments と出力されていますので、以下のようになるかと思います。
お支払い方法:
{% if gateway == 'shopify_payments' %}
クレジット決済
{% else %}
PayPay
{% endif %}
※上記は、shopify_payments 以外の場合は全てPayPayとなりますのでご注意ください。
該当箇所を
{% if payment_methods == ''Shopify payments' %}
クレジット決済
{% else %}
PayPay
{% endif %}
でいかがでしょうか?
ご丁寧にありがとうございます!
ご教示いただいたコードに変更してみたところ反映されました!
1点再度ご確認させていただきたいのですが、
今回Shopify Paymentのテストモードでクレジットを使って決済したのですが、
支払い方法がPayPayと出ているのはテストモードだからでしょうか…?
横から失礼します。
ご教示いただいたコードに変更してみたところ反映されました!
上記のように書かれていましたので現状が意図通りの動作なのかそうでないのか不明なのと、Oreder Printは使ったことがなく状況を把握できていないのですが、以下記載します。
試されたコードを確認いただきたいのですが、意味は以下のようになります。
上記の動作になりますので、「PayPay」と表示されたのは「payment_methodsの値がShopify payments以外だったから」となります。
現状が意図通りでない場合は、以下のようにして置換対象であるpayment_methodsの値を確かめたほうが良いかと思います。
{{ payment_methods }}
または
{{ payment_methods | json }}
お忙しいなか、ご丁寧にご教示いただきありがとうございます!
ご教示いただいた部分を今一度確認しましたが、やはり、ShopifyPaymentを使用したテスト注文なのですが、
PayPayと出てしまいました…
Order Printer Proの方では、Shopify Paymentが反映されているので、
アプリの問題なのかもしれません…
ご教示いただきましてありがとうございました!
成功
確認いただきありがとうございます。
当初記載いただいていたコードとは違いますが、以下も検討できるかもしれません。
transaction objectを用いているため、上記投稿の情報を利用するなら以下も確認されるとわかり良いと思います。
https://shopify.dev/docs/themes/liquid/reference/objects/transaction
前出のコードが使えるなら以下も参考になるかもしれません。
以上ですが、いずれも見当違いでしたら申し訳ありません。
成功
Order Printer アプリのテンプレートで使用できる変数は、
テンプレート編集画面左にあるリンク「View the Liquid variable list」のリンク先に
記載のあるものかと思いますので、お支払い方法は {{ gateway }} な気がしますが、
以下だといかがでしょうか。
Shopify Payments の場合は、shopify_payments と出力されていますので、以下のようになるかと思います。
お支払い方法:
{% if gateway == 'shopify_payments' %}
クレジット決済
{% else %}
PayPay
{% endif %}
※上記は、shopify_payments 以外の場合は全てPayPayとなりますのでご注意ください。
ご親切にご教示いただき誠にありがとうございます!
ご教示いただきました「gateway」への変更で反映を確認することができました!
今後内容を変更する際にもきちんとView the Liquid variable listを確認するようにいたします!
この度は本当にありがとうございました!
ご親切にたくさんご教示いただきましてありがとうございます!
地蔵さんにご教示いただいた内容と、toooruさんにご教示いただいた内容を確認し、
「gateway」を使用することで解決ができました!!!
たくさん教えていただいてありがとうございました!
リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024Shopifyは世界で最も革新的なブランドと起業家をサポートしています。個人起業家やあらゆる規模のビジネスの成長を後押しするために、Shopify アカデミーではShopif...
By SarahF_Shopify Mar 22, 2024オンラインストア運営はとてもやりがいのある活動です。新しい注文が入った時の喜びや世界中のお客様とやりとりできる可能性、商品に対して最高のレビューをもらった時の満足感は、毎日の...
By Mina Mar 13, 2024