Закрыть
Скидки в Webasyst 25–29 ноября 2021

Обновление корзины с других страниц

Нужно изменять количество лежащих в корзине товаров с любых других страниц. 

Например в самой корзине такой скрипт работает:

html:
<div class="test">
<input id="test_id" type="text" placeholder="product id">
<input id="test_quantity" type="text" placeholder="quantity">
</div>

js:

$("#test_quantity").change(function () {
    var that = $(this);
    if (that.val()) {
      $.post(
        '/cart/save/', 
        {
          html: 1, 
          id: $('#test_id').val(), 
          quantity: that.val()
        },  
        function (response) {

        if (response.data.error) {
          console.log(response.data.error);
        } 
      }, "json");
    }
  });

почему если это же самое разместить, например, в каталоге, то ниче не обновляется, и вот такая фигня в ответе:

?

5 ответов

  • 1
    Иван Мороз 8 апреля 2020 22:26 #

    Проверьте правильный ли вы id товара передаете вне страницы корзины

    id: $('#test_id').val()
  • 1
    Апельсин 8 апреля 2020 22:57 #

    стоп. 
    Так  в '/cart/save/' надо передавать не id товара, а id элемента в корзине. Это разные айди...

    А как узнавать какому айди в корзине соответствует товар? 
    В смысле, например, в каталоге, где известны id товаров надо как то получить айди этого товара в списке корзины.

    • +1
      Николай Иванов Николай Иванов 9 апреля 2020 08:48 #
      {$wa->shop->cart()->items()}

      получение массива с элементами корзины. внутри каждого будет массив product c нужным вам id товара. сделайте var_dump и сами всё увидите

      {$wa->shop->cart()->items()|@var_dump}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите