Начну с картинки, чтоб было понятней
Пытаюсь указать какое кол-во добавлять в корзину, но все кол-во указывается только у первого товара. Если у первого указал количество 4, а у третьему 1 и добавил третий, то все равно к третьему товару добавится 4 штуки.
Как указать количество по нужному id товара?
- - -
Код:
Вьюха
<?php foreach ($pizza as $one): $i++?>
<input type="text" value="1" id="qty">
<a href="<?= \yii\helpers\Url::to(['cart/add', 'id' => $one->id]) ?>" data-id="<?= $one->id ?>" type="submit" class="product__button button button_primary-outline add-to-cart">
<span class="button__inc">В корзину</span>
</a>
<?php endforeach; ?>
$('.add-to-cart').on('click', function (e) {
e.preventDefault();
var id = $(this).data('id'),
qty = $('#qty').val();
$.ajax({
url: '/cart/add',
data: {id: id, qty: qty},
type: 'GET',
success: function(res){
if(!res) alert('Ошибка!');
showCart(res);
},
error: function(){
alert('Error!');
}
});
});
Контроллер:
public function actionAdd(){
$id = Yii::$app->request->get('id');
$qty = (int)Yii::$app->request->get('qty');
$qty = !$qty ? 1 : $qty;
$product = Product::findOne($id);
if(empty($product)) return false;
$session =Yii::$app->session;
$session->open();
$cart = new Cart();
$cart->addToCart($product, $qty);
if( !Yii::$app->request->isAjax ){
return $this->redirect(Yii::$app->request->referrer);
}
$this->layout = false;
return $this->render('cart-modal', compact('session'));
}