ada30
1
納品書をorder printerアプリで印刷しています。
顧客名を{{ customer.name }}で記載するようにしていますが、姓と名が逆になってしまっています。
{{ customer_address.first_name }}と{{ customer_address.last_name }}、{{ customer.first_name }}と{{ customer.last_name }}で表示できるか、と思いコードを変更してみましたが、何も表示されません。
なにかお分かりになる方、助けてください。
※注文者名を表示させる{{ billing_address.last_name }} {{ billing_address.first_name }}だと、amazonPay支払い且つギフト配送のときに、配送先情報に注文者情報が上書きされるため、billing_addressでもNGです。
Qcoltd
2
コミュニティ内に同様のご質問とその回答があるようですが、
https://community.shopify.com/c/shopify-%E3%82%A2%E3%83%97%E3%83%AA/order-printer-%E3%81%A7%E9%A1%A7%E5%AE%A2%E5%90%8D-customer-name-%E3%82%92%E5%A7%93%E5%90%8D%E9%A0%86%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%9F%E3%81%84/td-p/1192055
{{ billing_address.last_name }}
{{ billing_address.first_name }}
だけでなく、
{{ shipping_address.last_name }}
{{ shipping_address.first_name }}
でも、
質問者様のご希望に沿わないのかもしれませんね。
かなりトリッキーなやり方になってしまいますし、
使用するのに条件が発生してしまいますが、
下記でも対応できるかと思います。
{% assign customer_name_array = customer.name | split: " " %}
{{ customer_name_array[1] }} {{ customer_name_array[0] }}
これを使用する条件とは、
first_nameとlast_nameに半角スペースが含まれない、
ことになります。
first_nameかlast_nameもしくはその両方に、半角スペースが含まれてしまいますと、
上記の方法では正しくお名前を出力できません。
いずれにしてもベストプラクティスからは程遠いので、
他の方の回答も待たれると良いかと思います。
(キュー田辺)
ada30
3
返答くださりありがとうございます!
ほとんどの方が日本名のお客様なので、教えていただいた方法でやってみます。ありがとうございました!
つい対処療法をお教えしてしまいましたが、
Order Printerの制作者であるShopifyに問い合わせをする方が、
ベストかもしれません。
(対応してくれるかは分かりませんが。。。)
ご質問内容の通り、Shopifyのドキュメントによると、customerオブジェクトは、first_nameとlast_nameを持ちます。
https://shopify.dev/api/liquid/objects/customer#customer-last_name
https://shopify.dev/api/liquid/objects/customer#customer-first_name
これらが、Shopify自身が制作しているアプリで使用できないのは、おかしいため、
アプリストアからお問い合わせいただくか、
https://apps.shopify.com/order-printer?locale=ja
(※「サポート」に「サポートに連絡する」というフォームがあります。)
Shopify自体のサポートにお問い合わせいただくと、
https://help.shopify.com/ja/questions#/login
かなり可能性は低いですが、もしかしたら、
customer.first_nameとcustomer.last_nameを使用できるようにしてくれるかもしれません。
(キュー田辺)
ada30
5
ご丁寧にありがとうございます!
サポートに聞いてみますね。対応してくださるといいのですが…