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様
アドバイスありがとうございます。
頂いた情報を元に再度できないか確認させていただきます。
無理なお願いをしてしまい大変お手数おかけいたしました。
ありがとうございました。
いつもShopifyをご利用いただき、ありがとうございます。 Shopifyは、皆様の日本語での利用体験の向上に努めております。さらなる改善のために皆様のご意見をお寄せい...
By JasonH May 9, 2025Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025