Liquid、JavaScriptなどに関する質問
特定の商品ページを見ている時、
その商品を購入したことがあるユーザーの場合は
「あなたはこの商品を購入したことがあります」
と表示。
未購入のユーザーの場合は
「まだこの商品を買ったことがありません」
と表示
のように分岐させたいです。
このようなことはLiquidで可能なのでしょうか。
LocalStrageやCockieは使用しない想定です。
また、ストアの「会員機能」はOFFにしており、
基本的には「購入者は総じてストア非会員である」という状況だと仮定します。
参考コード例などをいただけると非常に助かりますが、
有識者の方より「私の知る限り不可能」等のお考えを
いただけるのみでも大変参考になります。
ご助言いただけますと幸いです。
解決済! ベストソリューションを見る。
成功
結論から申し上げますと、Liquid のみでの実装はかなり厳しいかと思います。
しかし、「直近の 20 注文以内で顧客該当の商品を購入したかどうか」での出しわけを行うことができます。
以下に、「直近の 20 注文以内で顧客該当の商品を購入したかどうか」での出しわけの実装方針をまとめます。
customer
https://shopify.dev/docs/api/liquid/objects/customer
orders
https://shopify.dev/docs/api/liquid/objects/order
line_item
https://shopify.dev/docs/api/liquid/objects/line_item
上記の方法で、「直近の 20 注文以内で顧客該当の商品を購入したかどうか」の true・false を取得できるので、
こちらを用いて表示の分岐を行う形になるかと思います。
Shopify Expertとして、Shopify ストア構築・運用やアプリ開発に至るまで幅広く活動しています。
成功
結論から申し上げますと、Liquid のみでの実装はかなり厳しいかと思います。
しかし、「直近の 20 注文以内で顧客該当の商品を購入したかどうか」での出しわけを行うことができます。
以下に、「直近の 20 注文以内で顧客該当の商品を購入したかどうか」での出しわけの実装方針をまとめます。
customer
https://shopify.dev/docs/api/liquid/objects/customer
orders
https://shopify.dev/docs/api/liquid/objects/order
line_item
https://shopify.dev/docs/api/liquid/objects/line_item
上記の方法で、「直近の 20 注文以内で顧客該当の商品を購入したかどうか」の true・false を取得できるので、
こちらを用いて表示の分岐を行う形になるかと思います。
Shopify Expertとして、Shopify ストア構築・運用やアプリ開発に至るまで幅広く活動しています。
丁寧なご回答ありがとうございます。
>orders を取得(一度に取得できる個数が 20個まで)
が制限の理由なんですね。
頂いた情報を基にチャレンジしてみます。
ありがとうございました!