Merge remote-tracking branch 'upstream/master' into issue-3487
This commit is contained in:
commit
770530cefa
|
|
@ -2,20 +2,19 @@
|
|||
|
||||
namespace Webkul\API\Http\Controllers\Shop;
|
||||
|
||||
use Illuminate\Support\Facades\Event;
|
||||
use Webkul\Checkout\Repositories\CartRepository;
|
||||
use Webkul\Checkout\Repositories\CartItemRepository;
|
||||
use Webkul\Shipping\Facades\Shipping;
|
||||
use Webkul\Payment\Facades\Payment;
|
||||
use Webkul\API\Http\Resources\Checkout\Cart as CartResource;
|
||||
use Webkul\API\Http\Resources\Checkout\CartShippingRate as CartShippingRateResource;
|
||||
use Webkul\API\Http\Resources\Sales\Order as OrderResource;
|
||||
use Webkul\Checkout\Http\Requests\CustomerAddressForm;
|
||||
use Webkul\Sales\Repositories\OrderRepository;
|
||||
use Illuminate\Support\Str;
|
||||
use Cart;
|
||||
use Exception;
|
||||
use Illuminate\Support\Str;
|
||||
use Webkul\Payment\Facades\Payment;
|
||||
use Webkul\Shipping\Facades\Shipping;
|
||||
use Webkul\Sales\Repositories\OrderRepository;
|
||||
use Webkul\Checkout\Repositories\CartRepository;
|
||||
use Webkul\Shop\Http\Controllers\OnepageController;
|
||||
use Webkul\Checkout\Repositories\CartItemRepository;
|
||||
use Webkul\Checkout\Http\Requests\CustomerAddressForm;
|
||||
use Webkul\API\Http\Resources\Sales\Order as OrderResource;
|
||||
use Webkul\API\Http\Resources\Checkout\Cart as CartResource;
|
||||
use Webkul\API\Http\Resources\Checkout\CartShippingRate as CartShippingRateResource;
|
||||
|
||||
class CheckoutController extends Controller
|
||||
{
|
||||
|
|
@ -162,6 +161,30 @@ class CheckoutController extends Controller
|
|||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for minimum order.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function checkMinimumOrder()
|
||||
{
|
||||
$cart = Cart::getCart();
|
||||
|
||||
$cartBaseSubTotal = (float) $cart->base_sub_total;
|
||||
|
||||
$minimumOrderAmount = (float) core()->getConfigData('sales.orderSettings.minimum-order.minimum_order_amount') ?? 0;
|
||||
|
||||
$status = $cartBaseSubTotal > $minimumOrderAmount;
|
||||
|
||||
return response()->json([
|
||||
'status' => ! $status ? false : true,
|
||||
'message' => ! $status ? trans('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]) : 'Success',
|
||||
'data' => [
|
||||
'cart' => new CartResource($cart),
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves order.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -270,6 +270,8 @@ Route::group(['prefix' => 'api'], function ($router) {
|
|||
|
||||
Route::post('save-payment', 'CheckoutController@savePayment');
|
||||
|
||||
Route::post('check-minimum-order', 'CheckoutController@checkMinimumOrder');
|
||||
|
||||
Route::post('save-order', 'CheckoutController@saveOrder');
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1318,6 +1318,8 @@ return [
|
|||
'order-number-length' => 'طول رقم الطلب',
|
||||
'order-number-suffix' => 'لاحقة رقم الطلب',
|
||||
'order-number-generator-class' => 'مولد رقم الطلب',
|
||||
'minimum-order' => 'Minimum Order Settings',
|
||||
'minimum-order-amount' => 'Minimum Order Amount',
|
||||
'default' => 'إفتراضي',
|
||||
'sandbox' => 'صندوق الرمل',
|
||||
'all-channels' => 'الكل',
|
||||
|
|
|
|||
|
|
@ -1324,6 +1324,8 @@ return [
|
|||
'order-number-length' => 'Auftragsnummer Länge',
|
||||
'order-number-suffix' => 'Auftragsnummer Suffix',
|
||||
'order-number-generator-class' => 'Bestell nummern generator',
|
||||
'minimum-order' => 'Minimum Order Settings',
|
||||
'minimum-order-amount' => 'Minimum Order Amount',
|
||||
'default' => 'Standard',
|
||||
'sandbox' => 'Sandbox',
|
||||
'all-channels' => 'Alle',
|
||||
|
|
|
|||
|
|
@ -1323,6 +1323,8 @@ return [
|
|||
'order-number-length' => 'Order Number Length',
|
||||
'order-number-suffix' => 'Order Number Suffix',
|
||||
'order-number-generator-class' => 'Order Number Generator',
|
||||
'minimum-order' => 'Minimum Order Settings',
|
||||
'minimum-order-amount' => 'Minimum Order Amount',
|
||||
'default' => 'Default',
|
||||
'sandbox' => 'Sandbox',
|
||||
'all-channels' => 'All Channels',
|
||||
|
|
|
|||
|
|
@ -1306,6 +1306,8 @@ return [
|
|||
'order-number-prefix' => 'Prefijo para Pedido #',
|
||||
'order-number-length' => 'Largo para Pedido #',
|
||||
'order-number-suffix' => 'Sufijo para Pedido #',
|
||||
'minimum-order' => 'Minimum Order Settings',
|
||||
'minimum-order-amount' => 'Minimum Order Amount',
|
||||
'default' => 'Predeterminado',
|
||||
'sandbox' => 'Sandbox',
|
||||
'all-channels' => 'Todos',
|
||||
|
|
|
|||
|
|
@ -1313,6 +1313,8 @@ return [
|
|||
'order-number-length' => 'طول شماره سفارش',
|
||||
'order-number-suffix' => 'تعداد کافی شماره سفارش',
|
||||
'order-number-generator-class' => 'تولید کننده شماره سفارش',
|
||||
'minimum-order' => 'Minimum Order Settings',
|
||||
'minimum-order-amount' => 'Minimum Order Amount',
|
||||
'default' => 'پیش فرض',
|
||||
'sandbox' => 'Sandbox',
|
||||
'all-channels' => 'همه',
|
||||
|
|
|
|||
|
|
@ -1318,6 +1318,8 @@ return [
|
|||
'order-number-length' => 'Lunghezza Numero Ordine',
|
||||
'order-number-suffix' => 'Suffisso Numero Ordine',
|
||||
'order-number-generator-class' => 'Generatore di numeri dordine',
|
||||
'minimum-order' => 'Minimum Order Settings',
|
||||
'minimum-order-amount' => 'Minimum Order Amount',
|
||||
'default' => 'Default',
|
||||
'sandbox' => 'Sandbox',
|
||||
'all-channels' => 'Tutti',
|
||||
|
|
|
|||
|
|
@ -1314,6 +1314,8 @@ return [
|
|||
'order-number-length' => 'Bestelnummer Lengte',
|
||||
'order-number-suffix' => 'Achtervoegsel bestelnummer',
|
||||
'order-number-generator-class' => 'Ordernummer Generator',
|
||||
'minimum-order' => 'Minimum Order Settings',
|
||||
'minimum-order-amount' => 'Minimum Order Amount',
|
||||
'default' => 'Standaard',
|
||||
'sandbox' => 'Sandbox',
|
||||
'all-channels' => 'Alles',
|
||||
|
|
|
|||
|
|
@ -1315,6 +1315,8 @@ return [
|
|||
'order-number-length' => 'Długość numeru zamówienia',
|
||||
'order-number-suffix' => 'Sufiks numeru zamówienia”',
|
||||
'order-number-generator-class' => 'Generator numeru zamówienia',
|
||||
'minimum-order' => 'Minimum Order Settings',
|
||||
'minimum-order-amount' => 'Minimum Order Amount',
|
||||
'default' => 'Domyślna',
|
||||
'sandbox' => 'Piaskownica',
|
||||
'all-channels' => 'Wszystkie kanały',
|
||||
|
|
|
|||
|
|
@ -1316,6 +1316,8 @@ return [
|
|||
'order-number-length' => 'Tamanho do Número do Pedido',
|
||||
'order-number-suffix' => 'Sufixo do Número de Pedido',
|
||||
'order-number-generator-class' => 'Gerador de número de pedido',
|
||||
'minimum-order' => 'Minimum Order Settings',
|
||||
'minimum-order-amount' => 'Minimum Order Amount',
|
||||
'default' => 'Padrão',
|
||||
'sandbox' => 'Sandbox',
|
||||
'all-channels' => 'Todos',
|
||||
|
|
|
|||
|
|
@ -1302,6 +1302,8 @@ return [
|
|||
'order-number-length' => 'Numara Uzunluğu',
|
||||
'order-number-suffix' => 'Numara Son Eki',
|
||||
'order-number-generator-class' => 'Sipariş Numarası Üreticisi',
|
||||
'minimum-order' => 'Minimum Order Settings',
|
||||
'minimum-order-amount' => 'Minimum Order Amount',
|
||||
'default' => 'Varsayılan',
|
||||
'sandbox' => 'Havuz',
|
||||
'all-channels' => 'Tümü',
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ return [
|
|||
'key' => 'sales.orderSettings',
|
||||
'name' => 'admin::app.admin.system.order-settings',
|
||||
'sort' => 3,
|
||||
],[
|
||||
], [
|
||||
'key' => 'sales.orderSettings.order_number',
|
||||
'name' => 'admin::app.admin.system.orderNumber',
|
||||
'sort' => 0,
|
||||
|
|
@ -43,10 +43,24 @@ return [
|
|||
'locale_based' => true,
|
||||
],
|
||||
]
|
||||
], [
|
||||
'key' => 'sales.orderSettings.minimum-order',
|
||||
'name' => 'admin::app.admin.system.minimum-order',
|
||||
'sort' => 1,
|
||||
'fields' => [
|
||||
[
|
||||
'name' => 'minimum_order_amount',
|
||||
'title' => 'admin::app.admin.system.minimum-order-amount',
|
||||
'type' => 'text',
|
||||
'validation' => 'numeric',
|
||||
'channel_based' => true,
|
||||
'locale_based' => true,
|
||||
],
|
||||
]
|
||||
], [
|
||||
'key' => 'sales.orderSettings.invoice_slip_design',
|
||||
'name' => 'admin::app.admin.system.invoice-slip-design',
|
||||
'sort' => 1,
|
||||
'sort' => 2,
|
||||
'fields' => [
|
||||
[
|
||||
'name' => 'logo',
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/shop.js": "/js/shop.js?id=c4dfdb6d0482241432f9",
|
||||
"/js/shop.js": "/js/shop.js?id=f9b25f1c2f22de85711d",
|
||||
"/css/shop.css": "/css/shop.css?id=45a1e46876af32f30871"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -228,6 +228,12 @@ class OnepageController extends Controller
|
|||
{
|
||||
$cart = Cart::getCart();
|
||||
|
||||
$minimumOrderAmount = (int) core()->getConfigData('sales.orderSettings.minimum-order.minimum_order_amount') ?? 0;
|
||||
|
||||
if (! ($cart->base_sub_total > $minimumOrderAmount)) {
|
||||
throw new \Exception(trans('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]));
|
||||
}
|
||||
|
||||
if ($cart->haveStockableItems() && ! $cart->shipping_address) {
|
||||
throw new \Exception(trans('Please check shipping address.'));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,8 +29,10 @@ Vue.prototype.$http = axios
|
|||
|
||||
window.eventBus = new Vue();
|
||||
|
||||
Vue.component("image-slider", ImageSlider);
|
||||
Vue.component("vue-slider", VueSlider);
|
||||
Vue.component('image-slider', ImageSlider);
|
||||
Vue.component('vue-slider', VueSlider);
|
||||
Vue.component('proceed-to-checkout', require('./components/checkout/proceed-to-checkout').default);
|
||||
|
||||
Vue.filter('currency', function (value, argument) {
|
||||
return accounting.formatMoney(value, argument);
|
||||
})
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
<template>
|
||||
<a :href="href" :class="addClass" v-text="text" @click="checkMinimumOrder($event)"></a>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: [
|
||||
'href',
|
||||
'addClass',
|
||||
'text',
|
||||
'cartDetails',
|
||||
'minimumOrderAmount',
|
||||
'minimumOrderMessage'
|
||||
],
|
||||
|
||||
methods: {
|
||||
checkMinimumOrder: function (e) {
|
||||
let base_sub_total = parseFloat(this.getCartDetails().base_sub_total);
|
||||
let minimumOrderAmount = parseFloat(this.minimumOrderAmount);
|
||||
|
||||
if (! (base_sub_total > minimumOrderAmount)) {
|
||||
e.preventDefault();
|
||||
window.flashMessages = [{'type': 'alert-warning', 'message': this.minimumOrderMessage}];
|
||||
this.$root.addFlashMessages();
|
||||
}
|
||||
},
|
||||
|
||||
getCartDetails: function () {
|
||||
return JSON.parse(this.cartDetails);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -497,7 +497,8 @@ return [
|
|||
'link-missing' => '',
|
||||
'event' => [
|
||||
'expired' => 'This event has been expired.'
|
||||
]
|
||||
],
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -491,7 +491,8 @@ return [
|
|||
'cart-subtotal' => 'Warenkorb Zwischensumme',
|
||||
'cart-remove-action' => 'Wollen Sie dies wirklich tun?',
|
||||
'partial-cart-update' => 'Nur einige der Produkte wurden aktualisiert',
|
||||
'link-missing' => ''
|
||||
'link-missing' => '',
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -497,7 +497,8 @@ return [
|
|||
'link-missing' => '',
|
||||
'event' => [
|
||||
'expired' => 'This event has been expired.'
|
||||
]
|
||||
],
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -463,7 +463,8 @@ return [
|
|||
'partial-cart-update' => 'Solo algunos de los productos se han actualizado',
|
||||
'event' => [
|
||||
'expired' => 'This event has been expired.'
|
||||
]
|
||||
],
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -496,7 +496,8 @@ return [
|
|||
'partial-cart-update' => 'فقط برخی از محصولات (های) به روز شده اند',
|
||||
'event' => [
|
||||
'expired' => 'This event has been expired.'
|
||||
]
|
||||
],
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -494,7 +494,8 @@ return [
|
|||
'link-missing' => '',
|
||||
'event' => [
|
||||
'expired' => 'Questo evento è terminato.'
|
||||
]
|
||||
],
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -455,7 +455,8 @@ return [
|
|||
'cart-subtotal' => '小計',
|
||||
'cart-remove-action' => '手続きを進めますか。',
|
||||
'partial-cart-update' => 'Only some of the product(s) were updated',
|
||||
'link-missing' => ''
|
||||
'link-missing' => '',
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -501,7 +501,8 @@ return [
|
|||
'link-missing' => '',
|
||||
'event' => [
|
||||
'expired' => 'This event has been expired.'
|
||||
]
|
||||
],
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -493,7 +493,8 @@ return [
|
|||
'partial-cart-update' => 'Tylko niektóre produkty zostały zaktualizowane',
|
||||
'event' => [
|
||||
'expired' => 'To wydarzenie wygasło.'
|
||||
]
|
||||
],
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -486,7 +486,8 @@ return [
|
|||
'link-missing' => '',
|
||||
'event' => [
|
||||
'expired' => 'This event has been expired.'
|
||||
]
|
||||
],
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -494,7 +494,8 @@ return [
|
|||
'link-missing' => '',
|
||||
'event' => [
|
||||
'expired' => 'Bu eylemin geçerliliği sona erdi.'
|
||||
]
|
||||
],
|
||||
'minimum-order-message' => 'Your order should be greater than :amount'
|
||||
],
|
||||
|
||||
'onepage' => [
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
@section('content-wrapper')
|
||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
||||
|
||||
<section class="cart">
|
||||
@if ($cart)
|
||||
<div class="title">
|
||||
|
|
@ -129,9 +130,18 @@
|
|||
@endif
|
||||
|
||||
@if (! cart()->hasError())
|
||||
<a href="{{ route('shop.checkout.onepage.index') }}" class="btn btn-lg btn-primary">
|
||||
{{ __('shop::app.checkout.cart.proceed-to-checkout') }}
|
||||
</a>
|
||||
@php
|
||||
$minimumOrderAmount = (int) core()->getConfigData('sales.orderSettings.minimum-order.minimum_order_amount') ?? 0;
|
||||
@endphp
|
||||
|
||||
<proceed-to-checkout
|
||||
href="{{ route('shop.checkout.onepage.index') }}"
|
||||
add-class="btn btn-lg btn-primary"
|
||||
text="{{ __('shop::app.checkout.cart.proceed-to-checkout') }}"
|
||||
cart-details="{{ $cart }}"
|
||||
minimum-order-amount="{{ $minimumOrderAmount }}"
|
||||
minimum-order-message="{{ __('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]) }}">
|
||||
</proceed-to-checkout>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -88,7 +88,19 @@
|
|||
<div class="dropdown-footer">
|
||||
<a href="{{ route('shop.checkout.cart.index') }}">{{ __('shop::app.minicart.view-cart') }}</a>
|
||||
|
||||
<a class="btn btn-primary btn-lg" style="color: white;" href="{{ route('shop.checkout.onepage.index') }}">{{ __('shop::app.minicart.checkout') }}</a>
|
||||
@php
|
||||
$minimumOrderAmount = (int) core()->getConfigData('sales.orderSettings.minimum-order.minimum_order_amount') ?? 0;
|
||||
@endphp
|
||||
|
||||
<proceed-to-checkout
|
||||
href="{{ route('shop.checkout.onepage.index') }}"
|
||||
add-class="btn btn-primary btn-lg"
|
||||
text="{{ __('shop::app.minicart.checkout') }}"
|
||||
cart-details="{{ $cart }}"
|
||||
minimum-order-amount="{{ $minimumOrderAmount }}"
|
||||
minimum-order-message="{{ __('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]) }}"
|
||||
style="color: white;">
|
||||
</proceed-to-checkout>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"/js/velocity.js": "/js/velocity.js?id=412bb9a2666a73860e49",
|
||||
"/js/velocity.js": "/js/velocity.js?id=c9fd3daf54ded400017d",
|
||||
"/css/velocity-admin.css": "/css/velocity-admin.css?id=4322502d80a0e4a0affd",
|
||||
"/css/velocity.css": "/css/velocity.css?id=d1461e1147981876a7fd"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@ class CartController extends Controller
|
|||
$cartDetails = [];
|
||||
$cartDetails['base_sub_total'] = core()->currency($cart->base_sub_total);
|
||||
|
||||
/* needed raw data for comparison */
|
||||
$cartDetails['raw']['base_sub_total'] = $cart->base_sub_total;
|
||||
|
||||
foreach ($items as $index => $item) {
|
||||
$images = $item->product->getTypeInstance()->getBaseImage($item);
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<a class="col text-left fs16 link-color remove-decoration" :href="viewCart">{{ cartText }}</a>
|
||||
|
||||
<div class="col text-right no-padding">
|
||||
<a :href="checkoutUrl">
|
||||
<a :href="checkoutUrl" @click="checkMinimumOrder($event)">
|
||||
<button
|
||||
type="button"
|
||||
class="theme-btn fs16 fw6">
|
||||
|
|
@ -74,6 +74,8 @@
|
|||
'checkoutUrl',
|
||||
'checkoutText',
|
||||
'subtotalText',
|
||||
'minimumOrderAmount',
|
||||
'minimumOrderMessage'
|
||||
],
|
||||
|
||||
data: function () {
|
||||
|
|
@ -117,6 +119,16 @@
|
|||
.catch(exception => {
|
||||
console.log(this.__('error.something_went_wrong'));
|
||||
});
|
||||
},
|
||||
|
||||
checkMinimumOrder: function (e) {
|
||||
let base_sub_total = parseFloat(this.cartInformation.raw.base_sub_total);
|
||||
let minimumOrderAmount = parseFloat(this.minimumOrderAmount);
|
||||
|
||||
if (! (base_sub_total > minimumOrderAmount)) {
|
||||
e.preventDefault();
|
||||
window.showAlert(`alert-warning`, 'Warning', this.minimumOrderMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
<template>
|
||||
<a :href="href" :class="addClass" v-text="text" @click="checkMinimumOrder($event)"></a>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: [
|
||||
'href',
|
||||
'addClass',
|
||||
'text',
|
||||
'cartDetails',
|
||||
'minimumOrderAmount',
|
||||
'minimumOrderMessage'
|
||||
],
|
||||
|
||||
methods: {
|
||||
checkMinimumOrder: function (e) {
|
||||
let base_sub_total = parseFloat(this.getCartDetails().base_sub_total);
|
||||
let minimumOrderAmount = parseFloat(this.minimumOrderAmount);
|
||||
|
||||
if (! (base_sub_total > minimumOrderAmount)) {
|
||||
e.preventDefault();
|
||||
window.showAlert(`alert-warning`, 'Warning', this.minimumOrderMessage);
|
||||
}
|
||||
},
|
||||
|
||||
getCartDetails: function () {
|
||||
return JSON.parse(this.cartDetails);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -40,6 +40,7 @@ Vue.component('modal-component', require('./UI/components/modal'));
|
|||
Vue.component("add-to-cart", require("./UI/components/add-to-cart"));
|
||||
Vue.component('star-ratings', require('./UI/components/star-rating'));
|
||||
Vue.component('quantity-btn', require('./UI/components/quantity-btn'));
|
||||
Vue.component('proceed-to-checkout', require('./UI/components/proceed-to-checkout'));
|
||||
Vue.component('sidebar-component', require('./UI/components/sidebar'));
|
||||
Vue.component("product-card", require("./UI/components/product-card"));
|
||||
Vue.component("wishlist-component", require("./UI/components/wishlist"));
|
||||
|
|
|
|||
|
|
@ -1,9 +1,15 @@
|
|||
<div class="mini-cart-container pull-right">
|
||||
@php
|
||||
$minimumOrderAmount = (int) core()->getConfigData('sales.orderSettings.minimum-order.minimum_order_amount') ?? 0;
|
||||
@endphp
|
||||
|
||||
<mini-cart
|
||||
view-cart="{{ route('shop.checkout.cart.index') }}"
|
||||
cart-text="{{ __('shop::app.minicart.view-cart') }}"
|
||||
checkout-text="{{ __('shop::app.minicart.checkout') }}"
|
||||
checkout-url="{{ route('shop.checkout.onepage.index') }}"
|
||||
subtotal-text="{{ __('shop::app.checkout.cart.cart-subtotal') }}">
|
||||
subtotal-text="{{ __('shop::app.checkout.cart.cart-subtotal') }}"
|
||||
minimum-order-amount="{{ $minimumOrderAmount }}"
|
||||
minimum-order-message="{{ __('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]) }}">
|
||||
</mini-cart>
|
||||
</div>
|
||||
|
|
@ -45,10 +45,17 @@
|
|||
</div>
|
||||
|
||||
<div class="row">
|
||||
<a
|
||||
@php
|
||||
$minimumOrderAmount = (int) core()->getConfigData('sales.orderSettings.minimum-order.minimum_order_amount') ?? 0;
|
||||
@endphp
|
||||
|
||||
<proceed-to-checkout
|
||||
href="{{ route('shop.checkout.onepage.index') }}"
|
||||
class="theme-btn text-uppercase col-12 remove-decoration fw6 text-center">
|
||||
{{ __('velocity::app.checkout.proceed') }}
|
||||
</a>
|
||||
add-class="theme-btn text-uppercase col-12 remove-decoration fw6 text-center"
|
||||
text="{{ __('velocity::app.checkout.proceed') }}"
|
||||
cart-details="{{ $cart }}"
|
||||
minimum-order-amount="{{ $minimumOrderAmount }}"
|
||||
minimum-order-message="{{ __('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]) }}">
|
||||
</proceed-to-checkout>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Reference in New Issue