FROM CACHE - jp_header
解決済

Shopify Flowを用いて数値型や単一行テキストのメタフィールドに値を登録する方法

るん
Shopify Partner
79 3 10

いつもお世話になっております。

 

Shopify Flowを用いて、顧客メタフィールドに値を追加したいと考えています。

 

やりたいこととしましては、

・cart.attributesで取得した値をShopify Flowで顧客メタフィールドに追加

したいと考えています。

 

Flow側にメタフィールドのnamespaceとKeyを入力し、valueに

 

{% for customAttributes_item in order.customAttributes %}
{% if customAttributes_item.key == 'key' %}
{{ customAttributes_item.value }}
{% endif %}
{% endfor %}

 

と記述すると、メタフィールド側の設定が複数行のテキストになっている場合以外は失敗します。

 

エラーメッセージを確認すると、登録しようとしている値が

 

"value\":\"\\n\\n\\n\\n\\n\\n 2\\n\\n\\n\\n\\n\\n\"

 

のように改行が入ってしまっているため、エラーになるようです。

複数行の値を取るメタフィールドには登録できます。

 

そこで、Flowのvalueを

 

{% for customAttributes_item in order.customAttributes %}
{% if customAttributes_item.key == 'key' %}
{{ customAttributes_item.value | strip }}
{% endif %}
{% endfor %}

 

としてみましたが、登録しようとしている値は変更できず、改行が入ったままです。

 

下記ページを確認したところ、stripフィルタは使用できるようなのですが、何がおかしいでしょうか?

不要な改行を取り除き、適切な型のメタフィールドにデータを登録したいです。

 

よろしくお願いいたします。

1 件の受理された解決策
るん
Shopify Partner
79 3 10

成功

自分で解決できました。

Liquidの条件タグを

{%

としていたのがいけなかったようで、

すべて

{%-

のようにハイフンをつけたら改行が入らずに登録できました。

stripフィルタも必要なかったです。

 

質問後すぐに自己解決してしまいましたが、どなたかのお役に立てれば幸いです。

元の投稿で解決策を見る

2件の返信2

るん
Shopify Partner
79 3 10

下記ページと書きながら、リンクを忘れてしまいました。

https://help.shopify.com/ja/manual/shopify-flow/reference/variables

 

失礼いたしました。

よろしくお願いいたします。

るん
Shopify Partner
79 3 10

成功

自分で解決できました。

Liquidの条件タグを

{%

としていたのがいけなかったようで、

すべて

{%-

のようにハイフンをつけたら改行が入らずに登録できました。

stripフィルタも必要なかったです。

 

質問後すぐに自己解決してしまいましたが、どなたかのお役に立てれば幸いです。