如何通过仅采用产品名称字段的形式在Shopify的购物车中添加产品?

时间:2018-09-29 06:02:49

标签: shopify

我已经在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 :(得分:2)

简短的答案是-您不能仅按产品名称添加产品。

产品必须具有变体ID,以便您将其提交到购物车。

长答案是:

添加产品名称的唯一方法是,如果您向产品页面提出AJAX请求并从那里获取变体ID并提交。

总是在Shopify中购买变体,即使产品没有任何变体,它也始终会购买默认的变体。

因此,如果您打算允许客户在文本字段中输入产品名称,则需要向搜索页面提出AJAX请求(因为我认为客户将无法输入产品名称的确切名称产品,以便您直接发出AJAX请求)并获得第一个结果(最好是在结果项中添加变体ID作为数据属性,例如,或其他某种方式,这样就不需要对产品页面本身进行第二次AJAX调用,然后将其提交到购物车。

由于所提供的信息太少,我无法为您提供任何代码或进一步的说明。