Мне интересно, есть ли теперь способ обновить метаполя клиентов из темы Shopify. Я нашел этот вопрос Как добавить метаполе к покупателю в Shopify, и в документации по-прежнему указано использовать заметки.
Я заметил, что этот вопрос уже устарел, а также у администратора Shopify теперь есть редактируемые поля для метаполей клиентов.
Есть ли способ сбора данных в регистрационной форме для заполнения метаполей клиента? Или я должен использовать заметки? Ниже то, что я пробовал?
<input
type = "text"
name = "customer[metafields][mobile]"
id = "RegisterForm-mobile"
aria-required = "true"
{% if form.errors contains 'mobile' %}
aria-invalid = "true"
aria-describedby = "RegisterForm-mobile-error"
{% endif %}
placeholder = "{{ 'customer.register.mobile' | t }}"
>
<label for = "RegisterForm-mobile">
{{ 'customer.register.mobile' | t }}
</label>
</div>
Короткий ответ: да, вы можете обновлять метаполя из темы. Также короткий ответ, вы не можете сделать это без использования приложения. Краткий ответ, почему это так? Только приложение имеет разрешения для изменения данных, таких как метаполя в магазине (кроме предоставленных форм, таких как те, которые используются для сбора информации о покупателе, такой как адрес). Эти формы не являются средством доступа к метаполям.
Типичный подход в вашем единственном варианте — настроить приложение с прокси-сервером приложения, позволяющим безопасно выполнять вызовы JS с этими ценными данными из магазина. Это лучшее, что вы можете сделать. На самом деле, это все, что вы можете сделать.
В каждой системе есть прыщики, бородавки и плохой газ время от времени и в разных местах. Это хорошо! Когда-то мне приходилось работать с Salesforce. Было ужасно. Корпоративное дерьмо! Но они владеют лучшей SaaS-компанией в Heroku. Так что я даю им это. Будь как будет!
круто, спасибо Дэвид. Прикинул, что может быть так. Я пришел к этому из Salesforce commerce — я обнаружил, что в Shopify dev требуется довольно много ограничений и обходных путей!