会員登録ページに「ふりなが」の入力項目をもうけ、入力された「ふりがな」の値をShopifyのメタフィールドに登録できるようにしたいと思っています。
Metafield Maneger を使って Customer に last_name_kana という名前のメタフィールドを作成しました。
その上で、customers/register.liquid に以下の input 要素を作りました。
input type="text" name="customer[last_name_kana]" id="{{ formId }}-LastName-Kana" placeholder="やまだ"
しかし入力しても値は登録されません。そもそもShopifyのメタフィールドは管理画面からしか登録や編集はできないのでしょうか。
もしおわかりでしたらご回答いただけると助かります。よろしくお願いいたします。
解決済! ベストソリューションを見る。
質問者様の意図とあっているかわかりませんが、会員登録の追加項目については、こちらのサイトが参考になると思いますので、よければみてみてください。
https://medium.com/ecblog/shopify会員登録画面で独自の入力フィールドを設置する方法-b18cbf6f9c1d
ご返信いただきありがとうございます。
こちらのページは以前確認させていただき実際試してみました。しかしこの場合メモ欄にまとめて登録されてしまいます。
ユーザー側で登録した内容を確認できたり、修正できるようにしたいので 「姓(ふりがな)」と「名(ふりがな)」のメタフィールドをそれぞれ作り、ユーザー側で確認や編集ができるようにしたかったのです。
とりあえず以下のアプリで固有のメタフィールドに登録できるところまではできました。jsonで一つのメタフィールドに登録されてしまうのでちょっと期待してたのと違いますが。。。
https://apps.shopify.com/customr?locale=ja
もう少し触って試してみたいと思います。ご案内いただきありがとうございました。
成功
MetaFieldsは、更新はAPIのみで可能です。参照は、APIとliquidで可能です。
お使いのアプリは内部でAPIを使って更新や表示をしていると思います。
ご提示の方法で設定できる項目はMetaFieldsとは別のもので、Liquidで実現するカスタム属性です。以下に詳細があります。
https://shopify.dev/tutorials/customize-theme-get-more-information-with-customer-registration-form
上記のやり方ですと、アプリなしで追加項目が管理画面の顧客管理の画面に表示されます。
ありがとうございます。
いただいた方法は以前試してみました。メモ欄にまとめて登録されてしまうので「登録」という意味では問題ありませんが、ユーザー側であとで確認や編集できるよう、「姓(ふりがな)」や「名(ふりがな)」のみが格納されるメタフィールドを作って、自由にページで表示したり、ユーザーのプロフィールページなどから編集できたりするような機能を作りたかったんですよ。
メタフィールドを前提にするとAPIでないとダメなんですね。色々アプリがあるので試してみたいと思います。
ありがとうございました。