order printer ピッキングリストで定期購入の回数により出力内容を出しわけしたい

解決済
TAM本間
新規メンバー
2 0 0

初めまして、TAMの本間と申します。

order printer ピッキングリストのカスタマイズについて質問があります。

<実現したいこと>
定期購入の回数によってにピッキングリストに表示させるプレゼントの内容の出し分けを行いたいです。
例えば、subscription-count:1(定期初回購入)の時にプレゼントとして「【定期購入テスト】醤油」を出力する(添付画像参照。赤枠がプレゼント)

スクリーンショット 2021-07-01 9.41.09.jpg

定期購入の回数については、order.tags(https://shopify.dev/api/liquid/objects/order#order-tags) でアクセスできるので、

この値を使用してピッキングリストの表示内容の出し訳を考えたのですが、

order printerの「the Liquid variable list」にはこのタグがありませんでした。

order printerではこのタグは使用できないのでしょうか?

定期購入の回数による出力内容出し分けの方法をご教授頂きたいです。

お手数ですが、ご確認をお願いいたします。

0 件の「いいね!」
Jizo_Inagaki
航海者
388 133 410

成功

Order Printerは実際にカスタマイズしたことがないのと、order.tagsで回数の値が取れるという点が理解しきれていないため間違っているかもしれませんが、購入回数であればおそらく以下で取れるのではと思います。

{{ customer.orders_count }}

 

上記ではなく、回数を表す数値を付与したタグを自動で付けている(「subscription-count:1」がタグ名?)ということであれば、確かにタグは無理かと思います。
以下でもその様に説明されていました。

https://community.shopify.com/c/Shopify-Discussion/Order-printer-Attach-an-order-tag/m-p/643842/high...

 

一方{{ attributes }}は使えるようなので、以下の方法が思い浮かびました。

 

■前提と概要

  • cusotmerにもsubscription-count:1などのタグをつける
  • order.attriobutesに回数を示す値を入れ、その値を用いて条件を作る

■方法

  • カートに定期購入商品が含まれていて、かつ、subscriptionを含むタグがcusotmerに付いていない場合は、attributesに「1」かタグ名を値に入れる
  • カートに定期購入商品が含まれていて、かつ、subscriptionを含むタグがcusotmerに付いている場合は、数値部分のみを取り出すかタグ名をそのまま値に入れる
  • Order Printerでattributesを参照し、設定した値で条件を作る

参考:
https://shopify.dev/api/liquid/objects/order#order-attributes

実際に組んで試しておらず実現可能性は不明ですが、attributesに回数を示す値を入れてそれを利用するという方針は使えそうに思いました。
自動タグ付のアプリが副次的にでもattributesに値を保存してくれているなら楽なのですが。

 

他の方法としては、どこかのタイミングで購入履歴を取得して該当商品の数を数えてattributesに値を入れるという方法も考えられはしますが、頻繁に購入される方ほど処理が重くなると思われるので、現実的ではないと思われました。

 

以上ですが、役に立たない情報でしたら申し訳ありません。

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
0 件の「いいね!」