只允许购买一件商品@ Shopify

时间:2015-01-31 10:24:27

标签: javascript html css shopify liquid

如果产品已经在购物车中,我们正在寻找隐藏添加到购物车按钮的解决方案。这样用户就无法订购每件产品中的1件以上。

来自Codementor的导师编写了一个功能,如果购物车中有选定的变体,则会隐藏添加到购物车按钮:

var updateCartButtons = function () {
    if (typeof (window.cartItems) === "undefined") {
        window.cartItems = [];
    }

    var cartItemVariantID, selectedVariantID, selectedVariantName;

    selectedVariantName = $('.swatch :radio:checked').val();

    selectedVariantID = $('#product-select option').filter(function () {
        return $(this).text() === selectedVariantName;
    }).val();

    $('.buymarginsecond').removeClass('addedToCart');
    for (var i = 0, l = cartItems.length; i < l; i++) {
        cartItemVariantID = cartItems[i].variant_id;
        if (cartItemVariantID == selectedVariantID) {
            $('.buymarginsecond').addClass('addedToCart');
            break;
        }
    }
};

我们想要改变这个功能的效果 主产品在购物车中时按钮消失。 因此,您只能订购每种产品中的一种,而不能订购产品的不同变体。

1 个答案:

答案 0 :(得分:2)

您可以在product.liquid文件中使用此代码,其中显示添加到购物车的按钮。它将遍历购物车中的标题,如果找到则将变量设置为是。然后检查变量是否为no,而不是购物车和show add to cart。

{% assign in_cart = 'no' %}
{% for item in cart.items %}
{% if item.product.title == product.title %}
{% assign in_cart = 'yes' %}
{% endif %}
{% endfor %}
{% if in_cart == 'no' %}
// SHow Add to Cart
{% endif %}