◄ Назад к списку

Обновление состава корзины

Позволяет одновременно добавлять и удалять позиции, так же позволяет менять количество заказываемых товаров.

Параметры запроса:

  • _method - строка 'put'
  • cart[quantity][id модификации] - количество (если вы хотите удалить позицию, то 0)
  • cart[order_line_comments][id модификации] - текст комментария к позиции заказа

Если модификация, есть в корзине, а ее в запросе не упомянули, то она удаляется из корзины. Если в количестве указан 0, то модификация опять же удаляется из корзины.

Если вы используете ajax запрос, то вам вернут объект в JSON формате с атрибутами:

  • total_price - стоимость заказа с учетом скидок и стоимости доставки;
  • currency - обозначение валюты, указанное в настройках валюты;
  • currency_format - формат вывода стоимости, указанный в настройках валюты.
  • и т.д.
Liquid js
        
          

<form action="/cart_items" id="cartform" method="post">
  <input type="hidden" value="put" name="_method">
  <table>
  {% for item in cart.items %}
    <tr>
      <td><a href="{{ item.product.url }}">{{ item.title | escape }}</a></td>
      <td><input type="text" value="{{ item.quantity }}" name="cart[quantity][{{ item.id }}]"/><td>
      <td><input type="text" value="{{ item.comment }}" name="cart[order_line_comments][{{ item.id }}]"/><td>
   </tr>
  {% endfor %}
  </table>
</form>

        
          

/* Пример на jQuery */
$.post('/cart_items.json', {
    _method: 'PUT',
    cart: {
      quantity: {
      109715042: 1
    }
  }
})
.done(function (cart) {
  console.log(cart);
})

// или
$.post('/cart_items.json', $('#cartform').serialize())
  .done(function (cart) {
    console.log(cart);
  })

// Сериализованные данные _method=PUT&cart%5Bquantity%5D%5B104490412%5D=1

Новости и статьи
Обновления платформы
Документация по API insales
API для написания интеграций
Разработка приложений
Пошаговая документация
Партнерская программа
Станьте партнером InSales