Добрый вечер, весь день мучаюсь с решением проблемы над добавлением товара в корзину. По идеи товары добавляются в сессию, без обновления страницы, через AJAX. Проблема в том что ajax не получает id товара, соответственно запрос не идет на нужный контролер для дальнейших действий.
index.php
<div class="product-card__actions">
<div class="product-card__prices"><?= $recommended_product['price'] ?> сум
</div>
<div class="product-card__buttons">
<a href="<?= \yii\helpers\Url::to(['cart/add', 'id' => $recommended_product['product_id']])?>" class="btn btn-primary product-card__addtocart add-to-cart" type="button">
В корзину
</a>
<a href="<?= \yii\helpers\Url::to(['cart/add', 'id' => $recommended_product['product_id']])?>" class="btn btn-secondary product-card__addtocart product-card__addtocart--list add-to-cart"
type="button">В корзину
</a>
<button class="btn btn-light btn-svg-icon btn-svg-icon--fake-svg product-card__wishlist"
type="button">
<svg width="16px" height="16px">
<use xlink:href="/images/sprite.svg#wishlist-16"></use>
</svg>
<span class="fake-svg-icon fake-svg-icon--wishlist-16"></span>
</button>
</div>
main.js (AJAX)
//add to cart
$('.add-to-cart').on('click', function (e) {
e.preventDefault();
var id = $(this).data('product_id');
$.ajax({
url: '/cart/add.html',
data: {id: 'id'},
type: 'GET',
success: function(res){
if(!res) alert('Ошибка!');
console.log(res);
//showCart(res);
},
error: function(){
alert('Error!');
}
});
});
CartController.php
public function actionAdd($id){
$product = Products::findOne($id);
if(empty($product)) return false;
$session =Yii::$app->session;
$session->open();
$cart = new Cart();
$cart->addToCart($product);
$this->layout = false;
return $this->render('cart-modal', compact('session'));
}