freks blog

about

Shopify FlowでProduct ListのShop metafieldを更新する

created: 2024-10-06
おすすめ記事: 出会ってよかったプログラマー本

Shopify純正のアプリShopify Flow を試してみます

Shopのmetafield に Product List を設定するフローを作成してみます

Shopのmetafieldを更新するには、現時点だとできる画面がないので、APIを使うしかなかったですが、Shopify Flowを使ってもできました

Order が作成されたら、OrderのLine Itemを取得して、ShopのmetafieldにProduct Listを更新させてみました

shopify flow

Order Create -> Update shop metafield で

Update shop metafieldは

update shop metafield

Valueにはliquidでかけるみたいで、Metafield Product Listを更新するにはIDを配列でわたしてあげればいいみたいです
つまりは

{"gid://shopify/Product/1", "gid://shopify/Product/2", "gid://shopify/Product/3"}

の形にしてあげるといいです
Liquidだと

[
  {% for lineItems_item in order.lineItems %}
    {% if forloop.first == false %}, {% endif %}
    "{{ lineItems_item.product.id }}"
  {% endfor %}
]

こうかけます
Add a variablesで使いたい変数を選ぶとサンプルコードが埋まるのでそれを参考に変えるといいです

あとは、手動でOrderを作成するとShopのmetafieldが更新されるのを確認しました
Metafieldの定義は事前に用意してなくても作られました

Shop metafieldの確認方法は ShopifyでShop metafieldを更新する に書いてあります

まとめ

Shopify Flowはあまりやれることないと思ってましたが、意外にできそうです

PR


Amazonのアソシエイトとして、blog.freks.jp は適格販売により収入を得ています。
This site is managed by freks