Shopify: Если в корзине есть один товар, а цена ниже 10, установите количество товара на 0. Не могу получить его - PullRequest
0 голосов
/ 20 октября 2019

В настоящее время в моем магазине есть всплывающее окно с модальной корзиной. Когда пользователь добавляет товар в свою корзину, ему предоставляется возможность добавить «Special Bundle» upsell, который является предметом со скидкой ниже $ 10. К сожалению, некоторые люди удаляют оригинальный товар и проверяют только скидки со скидкой. Моя цель состоит в том, чтобы, если товар был удален из корзины, была сделана проверка, чтобы определить, есть ли в корзине только один товар, и если стоимость этого единственного товара меньше $ 10, чтобы затем установить его количество на 0,который удалит его из корзины.

 ==============================================================================*/
  function ajaxSubmitCart() {
    $cart = $("#cart");
    $.ajax({
      url: '/cart.js',
      dataType: 'json',
      type: 'post',
      data: $cart.serialize(),
      success: function (data) {
        refreshCart(data);
        //updateCartIconNumber(data);
      }
    });
  }
  
  function refreshCart(cart) {

    $cartBtn = $(".icon-cart");
    if ($cartBtn) {
      var $cartCount = $cartBtn.find('.cart_count');
      var value = $cartCount.text() || '0';
      var cart_items_html = "";
      var newCart = $("#cart ul").empty();
      var $cart = $("#cart ul");     
      var cartNumber = 0;
      var product_ids = [];
      
      $cart.find('li:not(:first)').remove();

        
      
      if (cart.item_count == 0) {
        
        // This removes the upsell item OPT-IN / Call To Action if the cart has no cart items. The problem is removing the upsell item after a customer has added it to the cart, and they then remove the full priced item.
        
        $("#hero-offer").fadeOut(0,function() { $("#hero-offer").remove(); });
        $cart.append('<li class="mm-label empty_cart"><img class="empty-cart-image" src="https://cdn.shopify.com/s/files/1/1442/0084/t/7/assets/Cart-Empty-TF2.png"><div class="cart-empty-text"></div></li>');
      
      } else {       
      
      // Believe I need another if statement here that checks qty to determine if there is only one item in cart, and then checks if its price is less than $10, and if yes, sets its item qty to 0, which effectively removes the upsell item that is on its own
      
        $.each(cart.items, function(index, item) {
          cart_items_html += '<li class="cart_item">' +
            '<a href="' + item.url +'">';
          if (item.image) {
            cart_items_html += '<div class="cart_image">' +
                '<img src="' + item.image.replace(/(\.[^.]*)$/, "_medium$1").replace('http:', '') + '" alt="' + htmlEncode(item.title) + '" />' +
              '</div>';
          }
          cart_items_html += '<div class="item_title">' + item.title +'</div></a>' +
              '<div class="price"> ' + Shopify.formatMoney(item.price, $cart.data('money-format')) + '</div>' +
              '<div class="quantity_selector">' +
                '<span class="minus">-</span><input type="number" min="0" class="quantity" name="updates[]" id="updates_' + item.id + '" value="' + item.quantity + '" /><span class="plus">+</span>' +
              '</div>' +            
          '</li>';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...