Код контроллера:
Код: Выделить всё
public function actionCartInto()
{
$cartTotal = \app\models\Cart::find()->with('book')->where(['user_id'=>Yii::$app->user->identity->id,])->all();
$countBooks = 0;
$countTotal = 0;
$sum = 0;
foreach ($cartTotal as $cartItem)
{
$countBooks += 1;
$countTotal += $cartItem->count;
$sum += $cartItem->book->price * $cartItem->count;
}
header('Access-Control-Allow-Origin: *');
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
header('Access-Control-Allow-Origin: *');
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return [
'countBooks'=>$countBooks,
'countTotal'=>$countTotal,
'sum'=>$sum
];
}
Код: Выделить всё
<span id="cartInfo" style="display:inline;">В корзине <span id="cartBooksTotal"></span> книг на сумму <span id="cartSumTotal"></span> рублей</span>
Код: Выделить всё
function onAddToCart()
{
var bookID = $(this).attr("add-book-to-cart");
$.ajax({
url: "/cart/cart-add?ajax=1&book_id="+bookID,
}).done(function(answer)
{
//window.alert("book added; \r\n books count = "+answer.countBooks+" \r\n totl count = "+answer.countTotal);
window.alert("Книга "+bookID+" успешно добавлена в вашу корзину!");
$("#cartBooksTotal").text(answer.countTotal);
$("#cartSumTotal").text(answer.sum);
$("#cartInfo").show();
});
}
$("[add-book-to-cart]").click(onAddToCart);
// загружаем инфу о корзине
$.ajax({
url: "/cart/cart-info?ajax=1",
}).done(function(answer){
$("#cartBooksTotal").text(answer.countTotal);
$("#cartSumTotal").text(answer.sum);
$("#cartInfo").show();
});