以下のカスタムメタフィールド(json)を登録しているのですが、
flow 内のValueでの利用の仕方がわかりません。
ご教授いただけると幸いです。
custom.test2 (type:json)
{
"hoge": [
{
"number": 111
},
{
"number": 222
}
],
"foo": [
{
"number": 111
},
{
"number": 222
}
]
}
Qcoltd
2
興味があり調査してみました。
確証はないのですが、
Shopify Flowの中で、
JSONタイプのmetafieldから値を取り出すと、
JSON objectではなく、文字列(string)として扱われてしまっているように見えました。
もし、
ストアフロントにおけるLiquidの挙動と、
Shopify FlowにおけるLiquidの挙動が同じであるなら、
質問者様の実装された方法で、
ご希望の値を取り出せると思います。
しかし、そうならない理由は2通りあると考えています。
1つ目は、
冒頭に記載したJSONが文字列として扱われている可能性。
2つ目は、
Shopify Flow側のバリデーションにより、
JSON内のプロパティ名を指定することができない。
どちらにしても、
Shopify側でしかどうしようもないことなので、
Shopifyサポートにお問い合わせいただくしか方法がないのですが、
対応してくれるかというと難しいかもしれませんね。
(開発チームにエスカレーションはしてくれるかもしれませんが。。。)
1つ思いつくのは、
文字列としては扱えるようなので、
metafields_item.value を splitでご希望に合うような形にパースする、
という方法です。
例えば、
{% assign example_variable = metafields_item.value | split: “,” %}
のようにして、少しずつ扱いやすい形にしていきます。
しかし、
完璧なパースを行うのは難しいのではないかと思います。
大した情報がなく恐縮ですが、
参考になれば幸いです。
(キュー田辺)
1 Like