Fixed cart issues

This commit is contained in:
jitendra 2018-10-18 15:01:19 +05:30
parent ad2fa3a678
commit 70c47f44a9
6 changed files with 114 additions and 123 deletions

View File

@ -161,7 +161,6 @@ class Cart {
*/
public function add($id, $data)
{
$itemData = $this->prepareItemData($id, $data);
if(!$itemData) {
@ -196,8 +195,6 @@ class Cart {
'base_total' => $cartItem->price * ($prevQty + $newQty)
]);
$this->collectTotals();
session()->flash('success', trans('shop::app.checkout.cart.quantity.success'));
return true;
@ -248,8 +245,6 @@ class Cart {
$parent = $cart->items()->create($itemData['parent']);
}
$this->collectTotals();
session()->flash('success', trans('shop::app.checkout.cart.item.success'));
return $cart;
@ -323,8 +318,6 @@ class Cart {
session()->flash('success', trans('shop::app.checkout.cart.item.success'));
$this->collectTotals();
return $cart;
}
}
@ -334,8 +327,6 @@ class Cart {
session()->flash('success', trans('shop::app.checkout.cart.item.success'));
$this->collectTotals();
return $cart;
}
}
@ -493,8 +484,6 @@ class Cart {
}
$item->update(['quantity' => $quantity]);
$this->collectTotals();
}
}
}
@ -515,8 +504,6 @@ class Cart {
if($cart = $this->getCart()) {
$this->cartItem->delete($itemId);
$this->collectTotals();
//delete the cart instance if no items are there
if($cart->items()->get()->count() == 0) {
$this->cart->delete($cart->id);

View File

@ -88,9 +88,11 @@ class CartController extends Controller
public function add($id) {
$data = request()->input();
// dd($data);
Cart::add($id, $data);
Cart::collectTotals();
return redirect()->back();
}
@ -102,6 +104,8 @@ class CartController extends Controller
public function remove($itemId) {
Cart::removeItem($itemId);
Cart::collectTotals();
return redirect()->back();
}
@ -123,6 +127,8 @@ class CartController extends Controller
Cart::update($data);
Cart::collectTotals();
return redirect()->back();
}

View File

@ -241,7 +241,8 @@ return [
'success_remove' => 'Item removed successfully',
'error_add' => 'Item cannot be added to cart',
],
'quantity-error' => 'Requested quantity is not available.'
'quantity-error' => 'Requested quantity is not available.',
'cart-subtotal' => 'Cart Subtotal'
],
'onepage' => [

View File

@ -0,0 +1,92 @@
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
<?php $cart = cart()->getCart(); ?>
@if($cart)
<?php $items = $cart->items; ?>
<div class="dropdown-toggle">
<div style="display: inline-block; cursor: pointer;">
<span class="name">
Cart
<span class="count"> ({{ intval($cart->items_qty) }})</span>
</span>
</div>
<i class="icon arrow-down-icon active"></i>
</div>
<div class="dropdown-list" style="display: none; top: 50px; right: 0px">
<div class="dropdown-container">
<div class="dropdown-cart">
<div class="dropdown-header">
<p class="heading">
{{ __('shop::app.checkout.cart.cart-subtotal') }} -
{{ core()->currency($cart->sub_total) }}
</p>
</div>
<div class="dropdown-content">
@foreach($items as $item)
@if($item->type == "configurable")
<div class="item">
<div class="item-image" >
@php
$images = $productImageHelper->getProductBaseImage($item->child->product);
@endphp
<img src="{{ $images['small_image_url'] }}" />
</div>
<div class="item-details">
<div class="item-name">{{ $item->child->name }}</div>
<div class="item-price">{{ core()->currency($item->total) }}</div>
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
</div>
</div>
@else
<div class="item">
<div class="item-image" >
@php
$images = $productImageHelper->getProductBaseImage($item->product);
@endphp
<img src="{{ $images['small_image_url'] }}" />
</div>
<div class="item-details">
<div class="item-name">{{ $item->name }}</div>
<div class="item-price">{{ $item->total }}</div>
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
</div>
</div>
@endif
@endforeach
</div>
<div class="dropdown-footer">
<a href="{{ route('shop.checkout.cart.index') }}">View Shopping Cart</a>
<a class="btn btn-primary btn-lg" style="color: white;" href="{{ route('shop.checkout.onepage.index') }}">CHECKOUT</a>
</div>
</div>
</div>
</div>
@else
<div class="dropdown-toggle">
<div style="display: inline-block; cursor: pointer;">
<span class="name">Cart<span class="count"> (0) </span></span>
</div>
</div>
@endif

View File

@ -3,11 +3,7 @@
<div class="item-detail">
<label>
@if($cart->items_qty - intval($cart->items_qty) > 0)
{{ $cart->items_qty }}
@else
{{ intval($cart->items_qty) }}
@endif
{{ intval($cart->items_qty) }}
{{ __('shop::app.checkout.total.sub-total') }}
{{ __('shop::app.checkout.total.price') }}
</label>

View File

@ -100,108 +100,13 @@
<ul class="cart-dropdown-container">
<?php $cart = cart()->getCart(); ?>
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
<li class="cart-dropdown">
<span class="icon cart-icon"></span>
@if($cart)
<?php $items = $cart->items; ?>
<div class="dropdown-toggle">
<div style="display: inline-block; cursor: pointer;">
@if($cart->items_qty - intval($cart->items_qty) > 0)
<span class="name">
Cart
<span class="count"> ({{ $cart->items_qty }})</span>
</span>
@else
<span class="name">
Cart
<span class="count"> ({{ intval($cart->items_qty) }})</span>
</span>
@endif
</div>
<i class="icon arrow-down-icon active"></i>
</div>
<div class="dropdown-list" style="display: none; top: 50px; right: 0px">
<div class="dropdown-container">
<div class="dropdown-cart">
<div class="dropdown-header">
<p class="heading">Cart Subtotal - {{ $cart->sub_total }}</p>
</div>
<div class="dropdown-content">
@foreach($items as $item)
@if($item->type == "configurable")
<div class="item">
<div class="item-image" >
@php
$images = $productImageHelper->getProductBaseImage($item->child->product);
@endphp
<img src="{{ $images['small_image_url'] }}" />
</div>
<div class="item-details">
<div class="item-name">{{ $item->child->name }}</div>
<div class="item-price">{{ $item->total }}</div>
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
</div>
</div>
@else
<div class="item">
<div class="item-image" >
@php
$images = $productImageHelper->getProductBaseImage($item->product);
@endphp
<img src="{{ $images['small_image_url'] }}" />
</div>
<div class="item-details">
<div class="item-name">{{ $item->name }}</div>
<div class="item-price">{{ $item->total }}</div>
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
</div>
</div>
@endif
@endforeach
</div>
<div class="dropdown-footer">
<a href="{{ route('shop.checkout.cart.index') }}">View Shopping Cart</a>
<a class="btn btn-primary btn-lg" style="color: white;" href="{{ route('shop.checkout.onepage.index') }}">CHECKOUT</a>
</div>
</div>
</div>
</div>
@else
<div class="dropdown-toggle">
<div style="display: inline-block; cursor: pointer;">
<span class="name">Cart<span class="count"> (0) </span></span>
</div>
</div>
@endif
@include('shop::checkout.cart.mini-cart')
</li>
</ul>
@ -263,14 +168,18 @@
<ul class="resp-cart-dropdown-container">
<li class="cart-dropdown">
<?php $cart = cart()->getCart(); ?>
@if(isset($cart))
<div>
<a href="{{ route('shop.checkout.cart.index') }}"><span class="icon cart-icon"></span></a>
</div>
<div>
<a href="{{ route('shop.checkout.cart.index') }}">
<span class="icon cart-icon"></span>
</a>
</div>
@else
<div style="display: inline-block; cursor: pointer;">
<span class="icon cart-icon"></span>
</div>
<div style="display: inline-block; cursor: pointer;">
<span class="icon cart-icon"></span>
</div>
@endif
</li>
</ul>