سلام.
من وقتی محصول به سبد خریدم اضافه میکنم، اضافه میشه ولی میخوام قیمت محصولی هم بعد از اضافه شدن به سبد خرید بدون رفرش شدن صفحه مبلغش آپدیت بشه ولی در حال حاضر این اتفاق نمیوفته.
روت:
Route::get('add-to-cart/{id}', [HomeController::class, 'addToCart'])->name('add.to.cart');
کنترلر:
public function addToCart($id)
{
$product = Product::findOrFail($id);
$cart = session()->get('cart', []);
if(isset($cart[$id])) {
$cart[$id]['quantity']++;
} else {
$cart[$id] = [
"title" => $product->title,
"quantity" => 1,
"price" => $product->price,
"image" => $product->image
];
}
session()->put('cart', $cart);
}
بلید:
<div class="span3">
<div class="cart-container" id="cartContainer">
@if(session('cart'))
@foreach(session('cart') as $id => $details)
<div class="cart">
<p class="items">سبد خرید <span class="dark-clr">{{ $details['quantity'] }}</span></p>
<p class="dark-clr hidden-tablet">$1816.90</p>
<a href="checkout-step-1.html" class="btn btn-danger">
<i class="icon-shopping-cart"></i>
</a>
</div>
<div class="open-panel">
<div class="item-in-cart clearfix">
<div class="image">
<img src="{{ $details['image'] }}" width="124" height="124" alt="cart item" />
</div>
<div class="desc">
<strong><a href="product.html">{{ $details['title'] }}</a></strong>
<span class="light-clr qty">
تعداد : {{ $details['quantity'] }}
<a href="#" class="icon-remove-sign" title="Remove Item"></a>
</span>
</div>
<div class="price">
<strong>{{ $details['price'] }}</strong>
</div>
</div>
<div class="summary">
<div class="line">
@php $total = 0 @endphp
@foreach((array) session('cart') as $id => $details)
@php $total += $details['price'] * $details['quantity'] @endphp
@endforeach
<div class="row-fluid">
<div class="span6">جمع کل :</div>
<div class="span6 align-right size-16">{{ $total }}</div>
</div>
</div>
</div>
<div class="proceed">
<a href="checkout-step-1.html" class="btn btn-danger pull-right bold higher">تصویه حساب <i class="icon-shopping-cart"></i></a>
<small>هزینه ارسال بر اساس منطقه جغرافیایی محاسبه میشود. <a href="#">اطلاعات بیشتر</a></small>
</div>
</div>
@endforeach
@endif
</div>
</div>
</div>
کد ajax:
$(document).ready(function () {
$('#cartBtn').click(function () {
var product_id = $('#product_id').val();
$.ajax({
type: 'get',
url: '/add-to-cart/' + product_id,
success:function() {
alert('done');
}
});
});
});
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟