フロントにて顧客情報を変更できるようにカスタマイズしたい。

AI-generated summary

フロントのマイアカウント画面で、顧客自身が氏名・メールアドレス・パスワードを編集できるようにしたいが、更新ボタンを押しても情報が保存されないという相談。reCAPTCHA(ロボットではない確認)後にアカウント画面へ戻るものの、氏名は変更されず、エラー表示も出ていない。画像は画面構成とLiquidコードの確認に使われている。

実装内容としては、page.edit_name.liquid を作成し、{% form 'customer' %} と name="customer[first_name]" などを指定。template/register.liquid を参考にしたが、登録用フォームの流用では更新処理になっていない可能性が示唆されている。

回答では、同様機能を持つShopifyアプリの利用提案があり、ブラウザでその編集フォームの実装を確認すると手がかりになるとの助言があった。特に、フォームは /account へPOSTしているようだという指摘がある。

結論は未解決で、次の調査対象は「アカウント更新用フォームの正しいPOST先と実装方法」の確認。

ユーザー自身が氏名、メールアドレス、パスワードを変更できるようにフロントを変更したいのですが、
うまくデータが変更されません。

マイアカウントページのアカウントの詳細に氏名、メールアドレス、パスワードを設置し、編集ボタンで更新画面に遷移はできました。

このページで変更するボタンを押しても顧客情報がへんこうできません。

ロボットではないチェック画面にはいくのですが、その後アカウント画面に遷移し、氏名が変わっていません。

エラーも発生していません。

liquidソースでは、page.edit_name.liquidを作成し、
{% form ‘customer’, id: formId, novalidate: ‘novalidate’ %}
formにcustomerを指定しています。

name=“customer[first_name]”
value=“{{ form.first_name }}”
で変更できると考えたのですが、できませんでした。

このソースはtemplate/register.liquidを参考に作成しました。

どのあたりを変えたら顧客情報を変更できるか教えていただけると幸いです。

宜しくお願い致します。

こちらのアプリを使えば同様のことが可能です。

https://apps.shopify.com/customr?locale=ja&surface_detail=custom%20fileds&surface_inter_position=1&surface_intra_position=9&surface_type=search

このアプリが追加している編集部分のソースをブラウザでみると検討がつくと思います。
見たところ、お考えのように、form action = /account に同様にPOSTしているようです。

junichiokamura様

ありがとうございます。

確認してみます。