функция onClick () - корзина не добавляется - что не так? - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть страница продукта на Shopify с кнопкой «Добавить в корзину».

При щелчке товар добавляется в корзину, а страница перенаправляется на другой продукт.

После того, как они добавили продукт upsell в корзину, он переходит на страницу оформления заказа, НО там отображается только продукт upsell, а не первый продукт, который пользователь хотел купить.Что не так с кодом ниже?

Как сделать так, чтобы оба товара появлялись на кассе?

<script>
function redirectToUpsellPageHandler(wrapper) {
  var upsellPageUrl = '/clientproducts/cryogenic-storage';
  var addToCartButton = wrapper.querySelector('.sqs-add-to-cart-button');
  var productVariants = wrapper.querySelector('.product-variants');

  if (addToCartButton) {
    addToCartButton.addEventListener('click', onClick);
  }

  function isVariantInStock() {
    return productVariants.getAttribute('data-variant-in-stock');
  }

  function onClick() {
    if (productVariants && isVariantInStock() || !productVariants) {
      setTimeout(function() {
        document.location.href = upsellPageUrl;
      }, 1000);
    }
  }
}

function redirectToUpsellPage() {
  // Product Page
  var productPage = document.querySelector('.collection-type-products.view-item');
  if (productPage) {
    redirectToUpsellPageHandler(productPage);
  }

  // Product Blocks
  var productBlocks = [].slice.call(document.querySelectorAll('.sqs-block-product'));
  productBlocks.forEach(redirectToUpsellPageHandler);
}

document.addEventListener('DOMContentLoaded', redirectToUpsellPage);
window.addEventListener('mercury:load', redirectToUpsellPage);
</script>

1 Ответ

0 голосов
/ 27 февраля 2019

Добавьте несколько console.logs и убедитесь, что вы попали в функцию onClick.Если это не так, может возникнуть проблема с использованием функции с именем onClick, поскольку это зарезервированная функция в jQuery или JS.

...