【问题标题】:Add to cart - change from a dropdown variant select with add to cart button to single add to cart button for each variant on Shopify / Liquid添加到购物车 - 从带有添加到购物车按钮的下拉变体选择更改为 Shopify / Liquid 上每个变体的单个添加到购物车按钮
【发布时间】:2020-04-08 22:11:57
【问题描述】:

我在 Shopify / Liquid 上有以下代码,用于将产品的变体添加到购物车。我想将其从带有“添加到购物车”按钮的下拉菜单更改为仅将大小添加到购物车的单个按钮。这最终会导致为每个尺寸选项添加许多按钮。我的代码如下:

        <form action="/cart/add" method="post" enctype="multipart/form-data" id="AddToCartForm" class="quick-add-to-cart small--hide clearfix">
          {% if product.variants.size > 1 %}
            <select id="product-select-{{ product.id }}" name='id' class="text-center">
            {% for variant in product.variants %}
            {% if variant.available %}
              <option {% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %} data-sku="{{ variant.sku }}" value="{{ variant.id }}">{{ variant.title }}</option>
            {% else %}
              <option disabled="disabled">
              {{ variant.title }} - {{ 'products.product.sold_out' | t }}
              </option>
            {% endif %}
            {% endfor %}
            </select>
            {% else %}
              <input type="hidden" name="id" value="{{ product.variants.first.id }}" />
            {% endif %}

            {% if product.available %}
              <button type="submit" name="add" id="AddToCart" class="btn btn-mini text-center" onclick="ga('send', 'event', 'Quick Add To Cart', '{{ product.type }}', '{{ product.title }}');">Add To Cart</button>
            {% else %}
              <h6>Out of Stock</h6>
            {% endif %}
          </form>

如果有人知道如何为这个请求更改上面的代码,那就太棒了!

非常感谢。

Original format

New desired format (single button)

【问题讨论】:

    标签: select button shopify liquid cart


    【解决方案1】:

    是的,只需将每个变体转换为带有添加按钮的表单即可。

    {%- for variant in product.variants -%}
      {%- unless variant.available -%}
        {%- continue -%}
      {%- endunless -%}
    
      <form action="/cart/add" method="post" enctype="multipart/form-data" id="AddToCartForm" class="quick-add-to-cart small--hide clearfix">
        <input type="hidden" name="id" value="{{ variant.id }}" />
        <button type="submit" name="add" id="AddToCart" class="btn btn-mini text-center" onclick="ga('send', 'event', 'Quick Add To Cart', '{{ product.type }}', '{{ product.title }}');">Add {{ variant.title }}</button>
      </form>
    {%- endfor -%}
    

    【讨论】:

    • 非常感谢。虽然这确实有效,但在单击它时,它会将我带到购物车页面并添加它,而我不会在单击时更改用户的页面。你知道我会怎么解决这个问题吗?谢谢
    • 您的意思是要使用 AJAX 添加到购物车吗?
    • 这很好用,有没有办法我可以只选择一个变体而不是所有变体?谢谢
    • @Sophia_xoox,不明白你的意思,你能解释一个用例吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    相关资源
    最近更新 更多