Позволяет одновременно добавлять и удалять позиции, так же позволяет менять количество заказываемых товаров.
Параметры запроса:
Если в количестве указан 0, то модификация удаляется из корзины.
Если вы используете ajax запрос, то вам вернут объект в JSON формате с атрибутами:
<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