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フィルタも必要なかったです。
質問後すぐに自己解決してしまいましたが、どなたかのお役に立てれば幸いです。
Shopifyペイメント決済サービスを利用していて、ストアの管理画面の通知セクションに突然「Shopifyペイメントの使用を継続するために必要な情報」というバナーメッセージが表示さ...
By Mirai Dec 3, 2023すべてのShopifyアカウントはデフォルトではmyshopify.comのURLと関連付けられており、これはアカウント設定時に使用したビジネス名に基づいて作成されます。しかし、オ...
By Nina_13 Nov 26, 2023このトピックは英語版コミュニティの投稿:Shopify Web Pixel Manager Sandbox FAQの日本翻訳です。
By Mirai Nov 19, 2023