Liquid、JavaScriptなどに関する質問
会員登録画面にチェックボックスで複数選択可能な項目を作りました。
項目内容は、好きなアーティストを複数選んでくださいというものです。
会員登録画面のコードは以下の通りです。(アーティスト名は伏せています)
</div>
<div style="flex: 0 0 50%; padding-left: 10px;">
<input type="checkbox" name="customer[note][好きなアーティスト 1]" value="Aさん" />Aさん
</div>
<div style="flex: 0 0 50%; padding-left: 10px;">
<input type="checkbox" name="customer[note][好きなアーティスト 2]" value="Bさん" />Bさん
</div>
上記のコードでお客様アカウントのメモに、
好きなアーティスト 1: Aさん
好きなアーティスト 2: Bさん
と表示されます。
この情報を顧客メタフィールドの単一行のテキストのリストに追加していきたいのですが方法がわかりません。
顧客メタフィールドは、「好きなアーティスト」としており、リストなのでAさん・Bさんそれぞれ分けて自動振り分けしたいです。
好きなアーティストは1,2以外にも9まであり今後も追加予定です。
AIを使用してFLOWのコードを出してもらったのですが上手くいきません。
{%- assign notes = customer.note | strip | newline_to_br | split: '<br />' -%} {%- for note in notes -%} {%- assign prefix = "好きなアーティスト" -%} {%- assign index_start = note | split: prefix | last | strip | slice: 0, 1 | default: "" | plus: 0 -%} {%- if index_start != blank -%} {%- for i in (1..index_start) -%} {{ prefix }}{{ i }}: {{ note | split: prefix | last | strip }} {%- endfor -%} {%- endif -%} {%- endfor -%}
どうやら顧客メモの「好きなアーティスト 1: Aさん」の1の部分が1以外でも出力可能としているようなのですが、上手くいきません。
顧客メタフィールドの単一行のテキスト(リスト)にお客様アカウントのメモの複数情報をそれぞれ自動振り分けするFLOWのコードと設定を教えていただきたいです。
説明が下手くそで大変申し訳ございません。
補足)単一行のテキスト(リストではない)の場合は、以下のコードで出力できています。
(誕生日を顧客メタフィールドに出力する)
{%- assign notes = customer.note | strip | newline_to_br | split: '<br />' -%} {%- for note in notes -%} {%- if note contains "Day: " -%} {{ note | split: 'Day: ' | last | strip }} {%- endif -%} {%- endfor -%}
@Kiichi 様
テキストのリストには、
シンプルに、
好きなアーティスト 1: Aさん
好きなアーティスト 2: Bさん
と入力されれば良いでしょうか?
上記でよろしければ、下記ではどうでしょうか?
{%- capture value -%}
{%- assign notes = customer.note | strip | newline_to_br | split: '<br />' -%}
{%- for note in notes -%}"{{ note | strip }}",{%- endfor -%}
{%- endcapture -%}
[{{value | remove_last: ","}}]
顧客メモに、好きなアーティストの情報以外も含まれている場合は、条件分岐が必要になります。
なお、
<input type="checkbox" name="customer[note][好きなアーティスト 1]" value="Aさん" />Aさん
は、
<input type="checkbox" name="customer[note][好きなアーティスト 1]" value="Aさん" />Aさん
とされた方が表示が整います。
(1を半角から全角にしました。逆に2の方を半角にしても良いです。)
ご参考まで。
(キュー田辺)
田辺様
返信していただきありがとうございます。
無事実装することができました!
ありがとうございます。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024