بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشاهد سبد خرید
سلام دوستان گلم
من یک مشکی دارم داخل سبد خرید وقتی تعداد محصول را اضافه میکنم قیمت و همه چی درست نمایش میده اما مشکل اینجاست که موقعی به درگاه وصل میشه قیمت درست نمایش نمیده
مشکل اینجاست price تغییر نمیکنه
اینم کد
<? $totalPrice = 0; ?>
<table id="cartDetail">
<colgroup>
<col style="width: 100px">
<col style="width: 100%">
<col style="min-width: 30px; max-width: 30px;">
<col style="min-width: 50px; max-width: 50px;">
<col style="min-width: 75px; max-width: 75px;">
<col style="min-width: 25px; max-width: 25px;">
</colgroup>
<thead>
<th>تصویر</th>
<th>نام محصول</th>
<th>تعداد</th>
<th>فی</th>
<th>قیمت کل</th>
<th>حذف</th>
</thead>
<? foreach ($orders as $order){ ?>
<tr style="width: 100%" class="cartItem">
<?
$productPriceWithDiscount = $order['price'] - ($order['price'] * $order['discount'] / 100);
$totalPrice += $order['quantity'] * $productPriceWithDiscount;
if ($order['hasCover'] != 1) {
$path = "/image/products/default_t.png";
} else {
$path = "/image/products/" . $order['product_id'] . ".png";
}
?>
<td>
<div class="cartThumbWrapper">
<img src="<?=$path?>" class="cartProductThumb">
</div>
</td>
<td>
<span class="cartProductName"><?=$order['title']?></span>
</td>
<td class="tac">
<input class="itemQuantity" data-order-id="<?=$order['order_id']?>" value="<?=$order['quantity']?>" type="number" min="1" max="10" style="width: 30px; height: 15px" autocomplete="off">
</td>
<td class="tac">
<span class="cartCurrentPrice"><?=$productPriceWithDiscount?></span>
</td>
<td class="tac">
<span class="cartTotalOrderPrice"><?=$productPriceWithDiscount?></span>
</td>
<td class="tac">
<span class="ic-cross cartRemoveBtn" onclick="removeOrder2(this, <?=$order['order_id']?>)"></span>
</td>
</tr>
<? } ?>
</table>
<div id="cartTotal">
مبلغ نهایی: <span><?=$totalPrice?></span>
</div>
<a class="proceedBtn" href="/payment/pay/<?=$invoice_hash?>"><span class="icon ic-credit-card"></span><span>پرداخت سبد خرید</span></a>
<script>
function updateTotalOrderPrice(control) {
var quantity = control.val();
var parent = control.parentsUntil(".cartItem").parent();
var price = parent.find('.cartCurrentPrice').text();
parent.find('.cartTotalOrderPrice').text(price * quantity);
}
function updateTotalCartPrice(){
$("#cartDetail").each(function(){
var cartDetail = $(this);
var totalCartPrice = 0;
cartDetail.find(".cartTotalOrderPrice").each(function(){
var totalOrderPrice = $(this).text();
totalCartPrice += parseInt(totalOrderPrice);
});
$("#cartTotal").find('span').html(totalCartPrice);
});
}
$(function() {
$(".itemQuantity").each(function () {
var control = $(this);
updateTotalOrderPrice(control);
});
$(".itemQuantity").on('change', function(){
var control = $(this);
updateTotalOrderPrice(control);
updateTotalCartPrice();
var quantity = control.val();
var orderId = control.data('order-id');
$.ajax({
url: "/product/changeQuantity",
method: 'POST',
data: {
orderId: orderId,
quantity: quantity
}
}).done(function(output) {
refreshCartPreview();
});
});
updateTotalCartPrice();
});
function removeOrder2(sender, productId){
$.ajax({
url: "/product/removeFromCart/" + productId,
method: 'POST',
dataType: "json"
}).done(function(output) {
$(sender).parentsUntil(".cartItem").parent().remove();
updateTotalCartPrice();
});
}
</script>
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
libcode
4 سال پیش
0
0
با سلام . من نتونستم از کد هاتون بفهمم مشکل چیه اما فکر میکنم باید هر دفعه که محصولی اضافه و خرید بشه باید قیمت کل و کل محتوای سبد خرید مثل نمایش محصولات باید توسط ajax آپدیت بشه و در خصوص قیمت کل در دیتابیس هم همینه شما اگر framework تان را طبق آموزش ها بسازید میتوانید با ساختن یک متد private و وصل آن به مدل اطلاعات کمی مثل مبلغ کل را بروزرسانی کنید.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .