Сохранение пользовательских данных в shopify через жидкий шаблон - PullRequest
0 голосов
/ 26 июня 2018

Я хочу создать пользовательский вопросник на пользовательской странице и сохранить ответ для зарегистрированного клиента.

Я создал пользовательскую страницу, которая связана с пользовательским шаблоном .liquid, который содержит следующий код:

{% if customer %}
  
    {% form 'customer' %}
  
      {{ form.errors | default_errors }}
  
      {% if form.posted_successfully? %}
  
        <div class="form--success">
            <div class="success">Thank you, we have saved your questionaire and calculated your programme.</div>
        </div>
        <br><br>
        
      {% else %}
  
        ... my html form here
    
        <!-- Save -->
        <span class="input-group__btn">
            <button type="submit" name="commit" class="btn">
                <span>Save</span>
            </button>
        </span>
        <br><br>
  
      {% endif %}
  
    {% endform %}
  
{% else %}

    <div style="custom-error">
        Not logged in, this feature is available for registered customers only!
        <br>
        <a href="/account">Click here</a> to register/login now.
    </div>

{% endif %}

Моя HTML-форма отображается при посещении моей пользовательской страницы.Я пытаюсь выяснить, как сохранить данные формы (предпочтительно сериализовать данные формы как json) обратно вошедшему в систему клиенту в пользовательском метаполе;когда вы нажимаете сохранить.

Есть идеи?

1 Ответ

0 голосов
/ 27 июня 2018

Из Документы Shopify

Настройка полей формы

Чтобы настроить поля формы, вы измените код из приведенных выше примеров перед сохранением их в шаблоне формы регистрации клиента.

Атрибут имени

Важно, чтобы и элементы имели атрибут имени, установленный на customer[note][Some Text], где Some Text определяет, чтовопрос поле ищет ответ.Значение customer[note] имеет важное значение, так как именно это позволяет передавать информацию в виде заметки покупателю.Без этого ничего не будет представлено.Единственная часть атрибута name, которую вы должны редактировать, - это текст между вторым набором квадратных скобок.

Итак, вы можете попробовать:

<input type="text" placeholder="" name="customer[note][Company]" required />

И это будет показанов своем профиле пользователя, например:

Depiction of Shopify Customer profile where

В жидкости на другой стороне вам придется использовать некоторое регулярное выражение или, возможно, сбросить note в переменную .js и напишите небольшой интерфейс для извлечения значений по ключу.

(я понимаю, что (к сожалению) мета-поля не доступны через такие обновления формы.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...