как добавить товары в корзину в Shopify, заполнив форму, в которой будет указано только название товара? - PullRequest
0 голосов
/ 29 сентября 2018

Я создал страницу формы в Shopify, в которой я заполнил следующие поля: -

<form  action="/cart" method="post">

        {% comment %}
          Successful message
        {% endcomment %}
        {% if form.posted_successfully? %}
          <p class="note form-success">
            {{ 'contact.form.post_success' | t }}
          </p>
        {% endif %}

        <div class="selection-wrapper">
          {{ form.errors | default_errors }}
        </div>

        <div class="selection-wrapper">
          <div class="grid">


              <label for="Name" class="hidden-label">Name*</label>
            <div class="grid__item medium-up--one-half">
          <input type="text" style="width:100%;" name="first_name" id="FirstName" {% if form.first_name %}value="{{ form.first_name }}"{% endif %} required>
          <label for="FirstName">{{ 'customer.register.first_name' | t }}</label>
            </div>
            <div class="grid__item medium-up--one-half">  

        <input type="text"  style="width:100%;" name="last_name" id="LastName" {% if form.last_name %}value="{{ form.last_name }}"{% endif %}>
           <label for="LastName">{{ 'customer.register.last_name' | t }}</label>
            </div>

          </div>
          <br/>


          <div class="grid">
               <label for="Email" class="hidden-label">Email Address *</label>

      <input type="email" style="width:100%;"  id="Email"  name="email" autocapitalize="off" value="{% if form.email %}{{ form.email }}{% elsif customer %}{{ customer.email }}{% endif %}">
          </div>
          <br/>
          <div class="grid">
            <label for="ContactFormPhone" class="hidden-label">Key Code Card Number*</label>
            <input type="text" id="key_cord_card_no"  style="width:100%;" name="keyCordCardNo"  value="{{ form.keyCordCardNo }}" required>
          </div>
          <br/>
          <div class="grid">
            <label for="Product Name" class="hidden-label">Product Name*</label>
            <input type="text" id="productName"  style="width:100%;" name="product_name"  value="{{ form.product_name }}" required>

         the  </div>
           <div class="grid">
          <p class="submit">
            <input type="submit" class="button solid" value="submit">
          </p>
          </div>
        </div>

        </form>

Мне нужно добавить товар в корзину по его названию, как я могу это сделать?Как добавить товары в корзину в Shopify, заполнив форму, в которой будет указано только название товара?

1 Ответ

0 голосов
/ 29 сентября 2018

Краткий ответ - - Вы не можете добавить товар только по его имени.

Товар ДОЛЖЕН иметь вариантИдентификатор, чтобы вы могли отправить его в корзину.

Длинный ответ :

Единственный способ добавить товар по его имени - это сделатьAJAX запросите страницу продукта и получите оттуда идентификатор варианта и отправьте его.

Вы всегда покупаете вариант в Shopify, даже если у продукта нет вариантов, у него всегда естькупленный вариант по умолчанию.

Так что, если вы планируете разрешить клиенту вводить название продукта в текстовом поле, вам нужно будет сделать запрос AJAX на страницу поиска (так как я предполагаю, что клиент выиграл 'не сможет ввести точное название продукта, чтобы вы могли сделать прямой запрос AJAX) и получить первый результат (будет лучше, если вы добавите идентификатор варианта в элементе результата, например, в качестве атрибута данных или некоторых других).другой способ, чтобы вам не нужно было делатьвторой вызов AJAX на самой странице продукта) и отправьте его в корзину.

Поскольку предоставленная информация настолько мала, я не могу предоставить вам ни кода, ни дальнейших инструкций о том, как действовать.

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