Shopify アプリに関する話題はこちら
shopifyflowにて、1つの注文で3SKU以上の商品の注文が発生した場合に、
注文タグ「3点以上の購入」などのタグを付ける方法についてご存知の方いらっしゃいますでしょうか。
「3SKU以上の商品の注文が発生」という条件の設定ができず、苦戦しています。
※1注文で商品点数が3点以上ではないです。
例)商品Aを2点、商品Bを1点購入した際にはタグは不要。
商品Aを1点、商品Bを1点、商品Cを1点など、3種類以上の注文のみに付与したい。
恐らく以下のような感じで対応できるのではと思います。
■方法1
ご希望の形そのままではなく、「3以上」「3未満」のどちらかのタグを付与する形です。
この形であれば Add order tagsアクション単体で対応できます。
Shopifyの配列の作り方は検索でいろいろ情報が出てきますのでそれらを参考にされるとよいかと思います。
sizeやuniqフィルターも同様ですが、ドキュメントとしては以下が該当します。
https://shopify.dev/docs/api/liquid/filters/uniq
https://shopify.dev/docs/api/liquid/filters/size
■方法2
上記は試作していないので実際に動作するか確証はありませんが、一旦どこかにSKU数を保存しないとConditionによる分岐は実行できないのではと思います。
以上ですが、SKUを配列に入れてuniqフィルターを用いればどうにかなるので、その辺りを主軸に検討すると良いかなと思います。
Jizo_Inagaki様
ご享受いただきありがとうございます!
しかしながら、当方Liquidの知識がまったくなく色々調べても書き方が検討もつきませんでした...
そこでチャットGPTの力をかりて方法1で試すべく以下のようなタグを出してもらいました。
しかしエラーでタグ自体を登録できず、「「line_items」は無効です。この変数を置き換えてください。」とのエラーとなってしまいました。
あと一歩のところまできているのかどうかもわからない状況なのですが、、、、
もし直せる部分の検討がつくようでしたら大変恐縮ですがご享受いただくことは可能でしょうか。
{% assign skus = "" %}
{% for item in line_items %}
{% assign skus = skus | append: item.sku | append: "," %}
{% endfor %}
{% assign sku_array = skus | split: "," | uniq %}
{% assign sku_count = sku_array | size %}
{% if sku_count < 3 %}
{% assign order_tags = order_tags | append: "3未満" %}
{% else %}
{% assign order_tags = order_tags | append: "3種類以上の注文" %}
{% endif %}
フローとしては以下のように作成しております。
個人的な理由に基づきますが状況的に無料対応は難しく詳細な回答ができかねる点をご了承ください。
とりあえずパッとみた感じでは以下あたりに注意いただければどうにかなるかできるのではと思います。
以上です。
回答は以上となりますので、このまま他の方の回答を待たれるか、エキスパートやパートナーに依頼されることをお勧めします。
または回答が得られるかわかりませんがShopifyサポートに質問することも検討できるかもしれません。
Jizo_Inagaki様
アドバイスありがとうございます。
頂いた情報を元に再度できないか確認させていただきます。
無理なお願いをしてしまい大変お手数おかけいたしました。
ありがとうございました。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024