add cart test

This commit is contained in:
Kerim 2023-06-21 05:01:58 +05:00
parent fc834b23f5
commit 2579f7aa7b
8 changed files with 172 additions and 185 deletions

View File

@ -82,4 +82,33 @@ class Session extends ComponentBase
}
}
function onGetCart()
{
$getToken = SessionP::get('nurgulToken');
$response = Http::get('http://nurgul.com.tm/app/api/customer/cart', function ($http) use($getToken) {
$http->header('Authorization', 'Bearer '.$getToken);
});
$dataqq = json_decode($response);
return $dataqq;
}
function onDeleteCartItem()
{
$getToken = SessionP::get('nurgulToken');
$dataInput = post();
$response = Http::delete('http://nurgul.com.tm/app/api/customer/cart/remove/'.$dataInput["item_id"], function ($http) use($getToken) {
$http->header('Authorization', 'Bearer '.$getToken);
});
$dataqq = json_decode($response);
return $dataqq;
}
}

View File

@ -86,6 +86,7 @@ function onStart(){
{% scripts %}
</body>
</html>

View File

@ -2,60 +2,23 @@
<div id="ltn__utilize-cart-menu" class="ltn__utilize ltn__utilize-cart-menu">
<div class="ltn__utilize-menu-inner ltn__scrollbar">
<div class="ltn__utilize-menu-head">
<span class="ltn__utilize-menu-title">Cart</span>
<span class="ltn__utilize-menu-title">{{'cart.title'|_}}</span>
<button class="ltn__utilize-close">×</button>
</div>
<div class="mini-cart-product-area ltn__scrollbar">
<div class="mini-cart-item clearfix">
<div class="mini-cart-img">
<a href="index.html#"><img src="{{'assets/img/product/1.png'|theme}}" alt="Image"></a>
<span class="mini-cart-item-delete"><i class="icon-trash"></i></span>
</div>
<div class="mini-cart-info">
<h6><a href="index.html#">Premium Joyful</a></h6>
<span class="mini-cart-quantity">1 x $65.00</span>
</div>
</div>
<div class="mini-cart-item clearfix">
<div class="mini-cart-img">
<a href="index.html#"><img src="{{'assets/img/product/2.png'|theme}}" alt="Image"></a>
<span class="mini-cart-item-delete"><i class="icon-trash"></i></span>
</div>
<div class="mini-cart-info">
<h6><a href="index.html#">The White Rose</a></h6>
<span class="mini-cart-quantity">1 x $85.00</span>
</div>
</div>
<div class="mini-cart-item clearfix">
<div class="mini-cart-img">
<a href="index.html#"><img src="{{'assets/img/product/3.png'|theme}}" alt="Image"></a>
<span class="mini-cart-item-delete"><i class="icon-trash"></i></span>
</div>
<div class="mini-cart-info">
<h6><a href="index.html#">Red Rose Bouquet</a></h6>
<span class="mini-cart-quantity">1 x $92.00</span>
</div>
</div>
<div class="mini-cart-item clearfix">
<div class="mini-cart-img">
<a href="index.html#"><img src="{{'assets/img/product/4.png'|theme}}" alt="Image"></a>
<span class="mini-cart-item-delete"><i class="icon-trash"></i></span>
</div>
<div class="mini-cart-info">
<h6><a href="index.html#">Pink Flower Tree</a></h6>
<span class="mini-cart-quantity">1 x $68.00</span>
</div>
</div>
<div class="mini-cart-product-area ltn__scrollbar" id="cart_inside">
<div id="emptyC" style='text-align:center'>{{'empty.cart'|_}}</div>
</div>
<div class="mini-cart-footer">
<div class="mini-cart-sub-total">
<h5>Subtotal: <span>$310.00</span></h5>
<h5>{{'cart.total'|_}} <span id="cart_total_aside">0.00 TMT</span></h5>
</div>
<div class="btn-wrapper">
<a href="cart.html" class="theme-btn-1 btn btn-effect-1">View Cart</a>
<a href="cart.html" class="theme-btn-2 btn btn-effect-2">Checkout</a>
<a href="/" class="theme-btn-1 btn btn-effect-1">{{'cart.view.title'|_}}</a>
<a href="/" class="theme-btn-2 btn btn-effect-2">{{'cart.checkout.title'|_}}</a>
</div>
<p>Free Shipping on All Orders Over $100!</p>
<!-- <p>Free Shipping on All Orders Over $100!</p> -->
</div>
</div>

View File

@ -45,10 +45,14 @@
<a href="#"><i class="icon-user"></i></a>
<ul>
{% if nurgulToken != "" %}
<li><a href="{{'Account'|page}}" style="font-weight: bold;color: #cc1155;">{{user_name}}{{user_phone}}</a></li>
<li><a href="{{'Account'|page}}"
style="font-weight: bold;color: #cc1155;">{{user_name}}{{user_phone}}</a>
</li>
<li><a href="{{'Account'|page}}">{{'account.title'|_}}</a></li>
<li><a href="{{'Whishlist'|page}}">{{'whishlist.title'|_}}</a></li>
<li><a href="javascript:;" data-request="onLogOutNurgul" data-request-redirect="/" style="font-weight: bold;">{{'logout.title'|_}}</a></li>
<li><a href="javascript:;" data-request="onLogOutNurgul"
data-request-redirect="/"
style="font-weight: bold;">{{'logout.title'|_}}</a></li>
{% else %}
<li><a href="{{'login'|page}}">{{'login.title'|_}}</a></li>
<li><a href="{{'register'|page}}">{{'register.title'|_}}</a></li>
@ -66,10 +70,10 @@
<a href="#ltn__utilize-cart-menu" class="ltn__utilize-toggle">
<span class="mini-cart-icon">
<i class="icon-handbag"></i>
<sup>2</sup>
<sup id="cart_qty">0</sup>
</span>
<h6><span>{{'cart.title'|_}}</span> <span
class="ltn__secondary-color">$89.25</span></h6>
<h6><span>{{'cart.title'|_}}</span> <span class="ltn__secondary-color"
id="cart_total">0.00 TMT</span></h6>
</a>
</div>
</li>
@ -147,5 +151,88 @@
<!-- header-bottom-area end -->
</header>
<!-- HEADER AREA END -->
{% if nurgulToken != "" %}
{% put scripts %}
<script>
$('#emptyC').show();
{% partial 'cart/get' token=nurgulToken %}
oc.ajax('onGetCart', {
success: function (data) {
if (data.data != null) {
$('#emptyC').hide();
var cart = data.data;
console.log(cart.vendors["nurgulShop"]);
$('#cart_qty').html(cart.items_count);
$('#cart_total').html(cart.formatted_grand_total);
$('#cart_total_aside').html(cart.formatted_grand_total);
for (var cart of cart.vendors["nurgulShop"]) {
// console.log(product.hasOwnProperty('special_price'));
$('#cart_inside').append(
`<div class="mini-cart-item clearfix">
<div class="mini-cart-img">
<a href="/product/detail/` + cart.additional.product_id + `"><img src="` + cart.product.images[0].small_image_url + `" alt="Image"></a>
<a href="javascript:;" class="mini-cart-item-delete" onClick="deleteItem(`+ cart.id + `);"><i class="icon-trash"></i></a>
</div>
<div class="mini-cart-info">
<h6><a href="/product/detail/` + cart.additional.product_id + `">` + cart.product.name + `</a></h6>
<span class="mini-cart-quantity">`+ cart.additional.quantity + ` x ` + cart.formatted_price + `</span>
</div>
</div>`);
}
}
}
})
function deleteItem(itemId) {
oc.ajax('onDeleteCartItem', {
data: { item_id: itemId },
success: function (data) {
if (data.data != null) {
$('#cart_qty').html("");
$('#cart_total').html("");
$('#cart_total_aside').html("");
$('#cart_inside').html("");
var cart = data.data;
console.log(cart.vendors["nurgulShop"]);
$('#emptyC').hide();
$('#cart_qty').html(cart.items_count);
$('#cart_total').html(cart.formatted_grand_total);
$('#cart_total_aside').html(cart.formatted_grand_total);
for (var cart of cart.vendors["nurgulShop"]) {
// console.log(product.hasOwnProperty('special_price'));
$('#cart_inside').append(
`<div class="mini-cart-item clearfix">
<div class="mini-cart-img">
<a href="/product/detail/` + cart.additional.product_id + `"><img src="` + cart.product.images[0].small_image_url + `" alt="Image"></a>
<a href="javascript:;" class="mini-cart-item-delete" onClick="deleteItem(`+ cart.id + `);"><i class="icon-trash"></i></a>
</div>
<div class="mini-cart-info">
<h6><a href="/product/detail/` + cart.additional.product_id + `">` + cart.product.name + `</a></h6>
<span class="mini-cart-quantity">`+ cart.additional.quantity + ` x ` + cart.formatted_price + `</span>
</div>
</div>`);
}
}else{
$('#cart_qty').html("0");
$('#cart_total').html("0.00 TMT");
$('#cart_total_aside').html("0.00 TMT");
// $('#cart_inside').html("");
$('#cart_inside').html(`<div id="emptyC" style='text-align:center'>{{'empty.cart'|_}}</div>`);
}
oc.flashMsg({
message: "{{'deleted.cart.success'|_}}",
type: 'success',
interval: 3
});
}
})
}
</script>
{% endput %}
{% endif %}

View File

@ -32,12 +32,12 @@
<!-- <li>
<div class="product-ratting">
<ul>
<li><a href="index.html#"><i class="icon-star"></i></a></li>
<li><a href="index.html#"><i class="icon-star"></i></a></li>
<li><a href="index.html#"><i class="icon-star"></i></a></li>
<li><a href="index.html#"><i class="icon-star"></i></a></li>
<li><a href="index.html#"><i class="icon-star"></i></a></li>
<li class="review-total"> <a href="index.html#"> (
<li><a href="#"><i class="icon-star"></i></a></li>
<li><a href="#"><i class="icon-star"></i></a></li>
<li><a href="#"><i class="icon-star"></i></a></li>
<li><a href="#"><i class="icon-star"></i></a></li>
<li><a href="#"><i class="icon-star"></i></a></li>
<li class="review-total"> <a href="#"> (
95 Reviews )</a></li>
</ul>
</div>
@ -50,22 +50,16 @@
<div class="ltn__product-details-menu-2 product-cart-wishlist-btn mb-30">
<ul>
<li>
<li id="modal_qty">
<div class="cart-plus-minus">
<input type="text" value="02" name="qtybutton"
class="cart-plus-minus-box">
<input type="text" value="1" name="qtybutton" id="qty_btn1" class="cart-plus-minus-box">
</div>
</li>
<li>
<a href="#"
class="theme-btn-1 btn btn-effect-1 d-add-to-cart"
title="Add to Cart" data-bs-toggle="modal"
data-bs-target="#add_to_cart_modal">
<span id="modal_add">ADD TO CART</span>
</a>
<li id="modal_add_btn">
</li>
<li>
<a href="index.html#" class="btn btn-effect-1 d-add-to-wishlist"
<a href="#" class="btn btn-effect-1 d-add-to-wishlist"
title="Add to Cart" data-bs-toggle="modal"
data-bs-target="#liton_wishlist_modal">
<i class="icon-heart"></i>
@ -76,13 +70,13 @@
<!-- <div class="ltn__social-media mb-30">
<ul>
<li class="d-meta-title">Share:</li>
<li><a href="index.html#" title="Facebook"><i
<li><a href="#" title="Facebook"><i
class="icon-social-facebook"></i></a></li>
<li><a href="index.html#" title="Twitter"><i
<li><a href="#" title="Twitter"><i
class="icon-social-twitter"></i></a></li>
<li><a href="index.html#" title="Pinterest"><i
<li><a href="#" title="Pinterest"><i
class="icon-social-pinterest"></i></a></li>
<li><a href="index.html#" title="Instagram"><i
<li><a href="#" title="Instagram"><i
class="icon-social-instagram"></i></a></li>
</ul>
@ -100,98 +94,3 @@
</div>
<!-- MODAL AREA END -->
<!-- MODAL AREA START (Add To Cart Modal) -->
<div class="ltn__modal-area ltn__add-to-cart-modal-area">
<div class="modal fade" id="add_to_cart_modal" tabindex="-1">
<div class="modal-dialog modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="ltn__quick-view-modal-inner">
<div class="modal-product-item">
<div class="row">
<div class="col-12">
<div class="modal-add-to-cart-content clearfix">
<div class="modal-product-img">
<img src="{{'assets/img/product/1.png'|theme}}" alt="#">
</div>
<div class="modal-product-info">
<h5><a href="product-details.html">qHeart's Desire</a></h5>
<p class="added-cart"><i class="fa fa-check-circle"></i>
Successfully added to your Cart</p>
<div class="btn-wrapper">
<a href="cart.html" class="theme-btn-1 btn btn-effect-1">View
Cart</a>
<a href="checkout.html"
class="theme-btn-2 btn btn-effect-2">Checkout</a>
</div>
</div>
</div>
<!-- additional-info -->
<div class="additional-info d-none--">
<p>We want to give you <b>10% discount</b> for your first order, <br>
Use (fiama10) discount code at checkout</p>
<div class="payment-method">
<img src="{{'assets/img/icons/payment.png'|theme}}" alt="#">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- MODAL AREA END -->
<!-- MODAL AREA START (Wishlist Modal) -->
<div class="ltn__modal-area ltn__add-to-cart-modal-area">
<div class="modal fade" id="liton_wishlist_modal" tabindex="-1">
<div class="modal-dialog modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="ltn__quick-view-modal-inner">
<div class="modal-product-item">
<div class="row">
<div class="col-12">
<div class="modal-product-img">
<img src="{{'assets/img/product/7.png'|theme}}" alt="#">
</div>
<div class="modal-product-info">
<h5><a href="product-details.html">Brake Conversion Kit</a></h5>
<p class="added-cart"><i class="fa fa-check-circle"></i> Successfully
added to your Wishlist</p>
<div class="btn-wrapper">
<a href="wishlist.html" class="theme-btn-1 btn btn-effect-1">View
Wishlist</a>
</div>
</div>
<!-- additional-info -->
<div class="additional-info d-none">
<p>We want to give you <b>10% discount</b> for your first order, <br>
Use discount code at checkout</p>
<div class="payment-method">
<img src="{{'assets/img/icons/payment.png'|theme}}" alt="#">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- MODAL AREA END -->

View File

@ -18,15 +18,15 @@
</div>
<div class="product-ratting">
<ul>
<li><a href="shop-grid.html#"><i class="icon-star"></i></a>
<li><a href="#"><i class="icon-star"></i></a>
</li>
<li><a href="shop-grid.html#"><i class="icon-star"></i></a>
<li><a href="#"><i class="icon-star"></i></a>
</li>
<li><a href="shop-grid.html#"><i class="icon-star"></i></a>
<li><a href="#"><i class="icon-star"></i></a>
</li>
<li><a href="shop-grid.html#"><i class="icon-star"></i></a>
<li><a href="#"><i class="icon-star"></i></a>
</li>
<li><a href="shop-grid.html#"><i class="icon-star"></i></a>
<li><a href="#"><i class="icon-star"></i></a>
</li>
</ul>
</div>
@ -38,13 +38,13 @@
<div class="product-hover-action product-hover-action-2">
<ul>
<li>
<a href="shop-grid.html#" title="Quick View" data-bs-toggle="modal"
<a href="#" title="Quick View" data-bs-toggle="modal"
data-bs-target="#quick_view_modal">
<i class="icon-magnifier"></i>
</a>
</li>
<li class="add-to-cart">
<a href="shop-grid.html#" title="Add to Cart" data-bs-toggle="modal"
<a href="#" title="Add to Cart" data-bs-toggle="modal"
data-bs-target="#add_to_cart_modal">
<span class="cart-text d-none d-xl-block">Add to
Cart</span>
@ -52,7 +52,7 @@
</a>
</li>
<li>
<a href="shop-grid.html#" title="Quick View" data-bs-toggle="modal"
<a href="#" title="Quick View" data-bs-toggle="modal"
data-bs-target="#quick_view_modal">
<i class="icon-shuffle"></i>
</a>

View File

@ -140,18 +140,15 @@
`
</li>
<li class="add-to-cart">
<a href="shop-grid.html#" title="Add to Cart" data-bs-toggle="modal"
data-bs-target="#add_to_cart_modal">
<a ` + ('{{nurgulToken}}' == "" ? `href='/login'` : `href="javascrip:;" data-request="onAddCart" data-request-data="product_id: `+ product.id +`, quantity: 1"`) + ` title="Add to Cart">
<span class="cart-text d-none d-xl-block">{{add}}</span>
<span class="d-block d-xl-none"><i class="icon-handbag"></i></span>
</a>
</li>
<li>
<a href="shop-grid.html#" title="Quick View" data-bs-toggle="modal"
data-bs-target="#quick_view_modal">
<i class="icon-shuffle"></i>
</a>
</li>
<li>`+
"<a href='#' onClick='setModal(" + product_str + ")' title='Quick View' data-bs-toggle='modal' data-bs-target='#quick_view_modal'><i class='icon-shuffle'></i></a>" +
`</li>
</ul>
</div>
</div>

View File

@ -2,11 +2,21 @@
<script>
function setModal(product) {
$('#modal_img').html(`<img src="` + product.images[0].original_image_url + `" alt="Nurgul ` + product.name + `">`);
$('#modal_name').html(product.name);
$('#modal_price').html(product.formatted_price);
$('#modal_desc').html(product.description);
$('#modal_add').html('{{add}}');
$('#modal_add_btn').html(`
<a ` + ('{{nurgulToken}}' == "" ? `href='/login'` : `href="javascrip:;" data-request="onAddCart" data-request-data="product_id: `+ product.id +`, quantity: `+ qtyBtn +`"`) + `
class="theme-btn-1 btn btn-effect-1 d-add-to-cart"
title="{{add}}" data-bs-toggle="modal"
data-bs-target="#add_to_cart_modal">
<span id="modal_add">{{add}}</span>
</a>
`);
if (product.hasOwnProperty('special_price')) {
$('#modal_discount').show();
$('#modal_discount').html(product.formatted_regular_price);
@ -14,6 +24,7 @@
$('#modal_discount').hide();
}
}
</script>
{% endput %}