如果产品已经在购物车中,我们正在寻找隐藏添加到购物车按钮的解决方案。这样用户就无法订购每件产品中的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;
}
}
};
我们想要改变这个功能的效果 主产品在购物车中时按钮消失。 因此,您只能订购每种产品中的一种,而不能订购产品的不同变体。
答案 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 %}