Liquid、JavaScriptなどに関する質問
いつもお世話になっております。
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フィルタは使用できるようなのですが、何がおかしいでしょうか?
不要な改行を取り除き、適切な型のメタフィールドにデータを登録したいです。
よろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
自分で解決できました。
Liquidの条件タグを
{%
としていたのがいけなかったようで、
すべて
{%-
のようにハイフンをつけたら改行が入らずに登録できました。
stripフィルタも必要なかったです。
質問後すぐに自己解決してしまいましたが、どなたかのお役に立てれば幸いです。
下記ページと書きながら、リンクを忘れてしまいました。
https://help.shopify.com/ja/manual/shopify-flow/reference/variables
失礼いたしました。
よろしくお願いいたします。
成功
自分で解決できました。
Liquidの条件タグを
{%
としていたのがいけなかったようで、
すべて
{%-
のようにハイフンをつけたら改行が入らずに登録できました。
stripフィルタも必要なかったです。
質問後すぐに自己解決してしまいましたが、どなたかのお役に立てれば幸いです。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024