商品のバリエーションを登録し
そのうちの1つが購入されたら
他のバリエーションも在庫切れと設定はできないでしょうか?
例)
商品A
バリエーション 色:赤/青/黄
※各在庫1で設定
商品A 赤 を購入
商品A 青/黄 も赤が購入された時点で在庫切れ扱いとする
shopifyflowでできないか試してみましたが、トリガーがわからず苦戦しています・・・。
課題: バリエーション商品の1つが購入された際、他のバリエーションも自動的に在庫切れにしたい(例:色違いの赤/青/黄のうち、赤が購入されたら青と黄も在庫切れにする)。
提案された解決策:
Shopify Flowを使用した方法
商品構造の変更(推奨)
結果: 質問者は提案された方法を参考にする意向を示した。
商品のバリエーションを登録し
そのうちの1つが購入されたら
他のバリエーションも在庫切れと設定はできないでしょうか?
例)
商品A
バリエーション 色:赤/青/黄
※各在庫1で設定
商品A 赤 を購入
商品A 青/黄 も赤が購入された時点で在庫切れ扱いとする
shopifyflowでできないか試してみましたが、トリガーがわからず苦戦しています・・・。
ご要望を完全に叶えるFlowは考えつきませんでした。
しかし、条件の変更と精度の劣化が許容いただけるなら下記で可能です。
上記で、下記のようになります。
[フローの流れ]
上記のうち、Get product dataについては、下図のようにします。
{%- for lineItems_item in order.lineItems -%}
(title:{{lineItems_item.product.title}}) {% unless forloop.last %}OR {% endunless %}
{%- endfor -%}
このやり方ですと、商品のバリエーションの数だけ、Hide Productが実行されてしまうのが、非常に無駄なのですが、実行に問題はないので、一旦、このままご提示させていただきました。
(クエリの書き方を工夫すれば、そうならないようにもできるはずです。)
ご要望通りの結果にはなりませんので、これでは問題があるようでしたらスルーしてください。
ご参考まで。
(キュー田辺)
ありがとうございます!
実際に操作してみて、商品が非表示になりました。
他対応方法が見つからなければ、こちらを参考にさせていただきたいと思います。
ご丁寧に教えていただきありがとうございます!
商品の扱い方、そのものを変更する、というのも良いかもしれません。
現在、「色」でバリエーションを作成されていますが、
「色」をLine item propertyで管理し、
商品自体はバリエーションを持たないようにすれば、
Shopify Flowを組む必要もなく管理が簡単です。
Line item propertyについては下記のブログをお読みにいただくのが良いです。
コードカスタマイズが必要ですが、
HTML, Liquidの知識があれば、
それほど難しくはありません。
Shopifyアプリも多数ありますが、
例: https://apps.shopify.com/custom-options?locale=ja
有料のものしかないかもしれません。
(キュー田辺)