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

**URL:** <https://community.shopify.com/t/order-printer/51703>\
**Category:** 技術的なQ＆A\
**Created:** [July 2, 2021, 5:56am UTC](https://community.shopify.com/t/order-printer/51703 "2021-07-02T05:56:58Z")\
**Posts on this page:** 2\
**Page:** 1

## AI-generated summary

Order Printer のピッキングリストで、定期購入の回数に応じてプレゼント表示を切り替えたい、という技術相談。具体的には、初回購入時のみ特定の商品名を出力したいが、判定に使いたい `order.tags` が Order Printer の利用可能な Liquid 変数一覧に見当たらず、使えるかが質問されている。

回答では、購入回数なら `{{ customer.orders_count }}` で取得できる可能性が示された一方、`subscription-count:1` のような注文タグを直接参照する用途なら、Order Printer では難しい可能性が高いとされた。

代替案としては、`order.attributes`（注文属性）に定期回数を保存し、それを条件分岐に使う方法が提案された。例として、カート投入時やタグ付与時に回数を属性へ書き込み、Order Printer 側で参照する構成が挙げられている。

結論として、`order.tags` 利用は否定的で、`attributes` 活用案が提示された段階。実装検証までは行われておらず、議論は未解決のまま。

<div class="post-metadata">

**Author:** ![TAM\_2](https://avatars.discourse-cdn.com/v4/letter/t/9de0a6/32.png) [@TAM\_2](https://community.shopify.com/u/TAM_2)\
**Post date:** [July 2, 2021, 5:56am UTC](https://community.shopify.com/t/order-printer/51703/1 "2021-07-02T05:56:58Z")

</div>

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

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

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

 ![スクリーンショット 2021-07-01 9.41.09.jpg](https://canada1.discourse-cdn.com/shopifyforum/original/4X/4/c/e/4ce75b418a5097c99e3ded2e20d99bb8807f0523.jpeg)

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

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

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

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

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

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

---

<div class="post-metadata">

**Author:** ![Jizo\_Inagaki](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/jizo_inagaki/32/149480_2.png) [@Jizo\_Inagaki](https://community.shopify.com/u/Jizo_Inagaki)\
**Post date:** [July 11, 2021, 1:02am UTC](https://community.shopify.com/t/order-printer/51703/2 "2021-07-11T01:02:44Z")

</div>

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

```markup
{{ customer.orders_count }}

```

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

[https://community.shopify.com/c/Shopify-Discussion/Order-printer-Attach-an-order-tag/m-p/643842/highlight/true#M154023](https://community.shopify.com/c/Shopify-Discussion/Order-printer-Attach-an-order-tag/m-p/643842/highlight/true#M154023)

一方{{ 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](https://shopify.dev/api/liquid/objects/order#order-attributes)

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

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

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