Liquid、JavaScriptなどに関する質問
アカウントの有効化画面で誕生日の入力項目とメルマガ登録のチェックボックスを入れたいと思っています。
activate_account.liquidを編集して
<input type="date" name="customer[note][Birthday]" id="RegisterForm-Birthday" class="input-full" value="" autocomplete="bday" placeholder="{{ 'customer.register.birthday' | t }}">
と入れてみましたが、アカウント有効化画面で誕生日を入力しても顧客情報には反映されませんでした。
アカウント有効化の画面に他の要素を加えることはできないのでしょうか?
質問者様のコードをアカウント有効化フォームに追加してみましたが、
質問者様と同様に、Customer Noteは、顧客情報に反映されませんでした。
会員登録フォームのactionと
有効化フォームのactionを
比較しますと、
会員登録フォームのaction (/account)
<form method="post" action="/account" id="create_customer" accept-charset="UTF-8" novalidate="novalidate" onsubmit="window.Shopify.recaptchaV3.addToken(this, "create_customer"); return false;">
有効化フォームのaction (/account/activate)
<form method="post" action="/account/activate" accept-charset="UTF-8">
となっており、actionの設定が異なることで、
Customer Noteを受け付けないのかもしれません。
> アカウント有効化の画面に他の要素を加えることはできないのでしょうか?
できない、と言い切れるほど調べられてはいないのですが、
少なくとも、質問者様の調査通り、
通常のやり方では、Customer Noteを有効化フォームから更新できないことは間違いなさそうです。
以降は、
手間がかかりすぎるため、現実的ではないアイデアになるため、スルーいただいても大丈夫です。
例えば、下記のコミュニティへの投稿を見ますと、
Admin APIでCustomer Noteの更新ができるようです。
APIサーバを別途準備し、
そのサーバからAdmin APIでCustomer Noteを更新するようにし、
有効化フォームには、フォーム送信時にJavaScriptでAPIコールし、
Customer Noteを更新する、
という方法もあるかもしれません。
(誰でもCustomer Noteを更新できるようになってしまわないような仕組みも必要になってきますが。)
大した情報がなく恐縮です。
(キュー田辺)
いつもShopifyをご利用いただき、ありがとうございます。 Shopifyは、皆様の日本語での利用体験の向上に努めております。さらなる改善のために皆様のご意見をお寄せい...
By JasonH May 9, 2025Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025