product view, dynamic payment, shipping methods
This commit is contained in:
parent
84b1f4102f
commit
11fbe0b0f9
|
|
@ -0,0 +1 @@
|
||||||
|
/home/users/pratik.srivastava/www/html/velocity-1/packages/Webkul/Velocity/publishable/assets/home/users/pratik.srivastava/www/html/velocity-1/public/themes/velocity/assets
|
||||||
|
|
@ -21,8 +21,9 @@
|
||||||
"vue": "^2.5.7"
|
"vue": "^2.5.7"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"opencollective": "^1.0.3",
|
||||||
"opencollective-postinstall": "^2.0.1",
|
"opencollective-postinstall": "^2.0.1",
|
||||||
"opencollective": "^1.0.3"
|
"vue-carousel": "^0.18.0"
|
||||||
},
|
},
|
||||||
"collective": {
|
"collective": {
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
|
|
|
||||||
|
|
@ -61,10 +61,10 @@ class ProductsCategoriesProxyController extends Controller
|
||||||
public function index(string $slugOrPath)
|
public function index(string $slugOrPath)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($category = $this->categoryRepository->findByPath($slugOrPath)) {
|
// if ($category = $this->categoryRepository->findByPath($slugOrPath)) {
|
||||||
|
|
||||||
return view($this->_config['category_view'], compact('category'));
|
// return view($this->_config['category_view'], compact('category'));
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ($product = $this->productRepository->findBySlug($slugOrPath)) {
|
if ($product = $this->productRepository->findBySlug($slugOrPath)) {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,14 @@
|
||||||
{
|
{
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "npm run development",
|
"dev": "npm run development",
|
||||||
|
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||||
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
|
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||||
|
"watch-poll": "npm run watch -- --watch-poll",
|
||||||
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
|
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||||
|
"prod": "npm run production",
|
||||||
"watch-poll": "npm run watch -- --watch-poll",
|
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
|
||||||
|
|
||||||
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
|
|
||||||
|
|
||||||
"prod": "npm run production",
|
|
||||||
|
|
||||||
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"axios": "^0.18",
|
"axios": "^0.18",
|
||||||
"cross-env": "^5.1.4",
|
"cross-env": "^5.1.4",
|
||||||
|
|
@ -24,7 +17,6 @@
|
||||||
"jquery": "^3.2",
|
"jquery": "^3.2",
|
||||||
"vue": "^2.1.10"
|
"vue": "^2.1.10"
|
||||||
},
|
},
|
||||||
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bootstrap-sass": "^3.4.1",
|
"bootstrap-sass": "^3.4.1",
|
||||||
"font-awesome": "^4.7.0",
|
"font-awesome": "^4.7.0",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/home/users/pratik.srivastava/www/html/velocity-1/packages/Webkul/Velocity/publishable/assets
|
||||||
|
|
@ -1720,6 +1720,10 @@
|
||||||
margin-left: 0px !important;
|
margin-left: 0px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.product-price .price-label {
|
||||||
|
margin-right: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
.product-price .sticker {
|
.product-price .sticker {
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
|
@ -1745,6 +1749,12 @@
|
||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.method-sticker {
|
||||||
|
background-color: grey;
|
||||||
|
display: block;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
/* @author Shubham Mehrotra */
|
/* @author Shubham Mehrotra */
|
||||||
body {
|
body {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
|
|
@ -2709,7 +2719,7 @@ body::after {
|
||||||
}
|
}
|
||||||
|
|
||||||
.ml15, .advertisement-two-container .ad-2-rt {
|
.ml15, .advertisement-two-container .ad-2-rt {
|
||||||
margin-left: 15px;
|
margin-left: 15px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body-blur {
|
.body-blur {
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ use Illuminate\Support\Facades\Schema;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
class AddFooterContentInChannels extends Migration
|
class AddSuscriptionBarInVelocity extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
|
|
@ -13,7 +13,7 @@ class AddFooterContentInChannels extends Migration
|
||||||
*/
|
*/
|
||||||
public function up()
|
public function up()
|
||||||
{
|
{
|
||||||
Schema::table('channels', function($table) {
|
Schema::table('velocity_meta_data', function($table) {
|
||||||
$table->text('subscription_bar_content')->nullable();
|
$table->text('subscription_bar_content')->nullable();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -25,7 +25,7 @@ class AddFooterContentInChannels extends Migration
|
||||||
*/
|
*/
|
||||||
public function down()
|
public function down()
|
||||||
{
|
{
|
||||||
Schema::table('channels', function($table) {
|
Schema::table('velocity_meta_data', function($table) {
|
||||||
$table->dropColumn('subscription_bar_content');
|
$table->dropColumn('subscription_bar_content');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -21,6 +21,9 @@ class VelocityMetaDataSeeder extends Seeder
|
||||||
'footer_middle_content' => '<div class="col-4 footer-ct-content"><div class="row"><div class="col-6"><ul type="none"><li><a href="">About Us</a></li><li><a href="">Customer Service</a></li><li><a href="">What’s New</a></li><li><a href="">Contact Us </a></li></div><div class="col-6"><ul type="none"><li><a href="">Order and Returns</a></li><li><a href="">Payment Policy</a></li><li><a href="">Shipping Policy</a></li><li><a href="">Privacy and Cookies Policy</a></li></div></div></div>',
|
'footer_middle_content' => '<div class="col-4 footer-ct-content"><div class="row"><div class="col-6"><ul type="none"><li><a href="">About Us</a></li><li><a href="">Customer Service</a></li><li><a href="">What’s New</a></li><li><a href="">Contact Us </a></li></div><div class="col-6"><ul type="none"><li><a href="">Order and Returns</a></li><li><a href="">Payment Policy</a></li><li><a href="">Shipping Policy</a></li><li><a href="">Privacy and Cookies Policy</a></li></div></div></div>',
|
||||||
|
|
||||||
'slider' => 1,
|
'slider' => 1,
|
||||||
|
|
||||||
|
'subscription_bar_content' => '<div class="social-icons wk-icon xyz"><i class="within-circle rango-facebook" title="facebook"></i><i class="within-circle rango-twitter" title="twitter"></i><i class="within-circle rango-linked-in" title="linkedin"></i>
|
||||||
|
<i class="within-circle rango-pintrest" title="Pinterest"></i><i class="within-circle rango-youtube" title="Youtube"></i><i class="within-circle rango-instagram" title="instagram"></i></div>'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ class VelocityServiceProvider extends ServiceProvider
|
||||||
$this->publishes([
|
$this->publishes([
|
||||||
__DIR__ . '/../Resources/views/' => resource_path('themes/velocity/views'),
|
__DIR__ . '/../Resources/views/' => resource_path('themes/velocity/views'),
|
||||||
|
|
||||||
dirname(__DIR__) . '/Resources/views/admin/settings/channels/edit.blade.php' => base_path('resources/views/vendor/admin/settings/channels/edit.blade.php')
|
// dirname(__DIR__) . '/Resources/views/admin/settings/channels/edit.blade.php' => base_path('resources/views/vendor/admin/settings/channels/edit.blade.php')
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->loadViewsFrom(__DIR__ . '/../Resources/views', 'velocity');
|
$this->loadViewsFrom(__DIR__ . '/../Resources/views', 'velocity');
|
||||||
|
|
|
||||||
|
|
@ -1015,6 +1015,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.product-price {
|
.product-price {
|
||||||
|
.price-label {
|
||||||
|
margin-right: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
.sticker {
|
.sticker {
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
|
@ -1039,4 +1043,10 @@
|
||||||
.special-price {
|
.special-price {
|
||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.method-sticker {
|
||||||
|
background-color: grey;
|
||||||
|
display: block;
|
||||||
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
@ -93,6 +93,7 @@ return [
|
||||||
'title' => 'Velocity meta data',
|
'title' => 'Velocity meta data',
|
||||||
'home-page-content' => 'Home Page Content',
|
'home-page-content' => 'Home Page Content',
|
||||||
'footer-left-content' => 'Footer Left Content',
|
'footer-left-content' => 'Footer Left Content',
|
||||||
|
'subscription-content' => 'Subscription bar Content',
|
||||||
'footer-left-raw-content' => 'We love to craft softwares and solve the real world problems with the binaries. We are highly committed to our goals. We invest our resources to create world class easy to use softwares and applications for the enterprise business with the top notch, on the edge technology expertise.',
|
'footer-left-raw-content' => 'We love to craft softwares and solve the real world problems with the binaries. We are highly committed to our goals. We invest our resources to create world class easy to use softwares and applications for the enterprise business with the top notch, on the edge technology expertise.',
|
||||||
'footer-middle-content' => 'Footer Middle Content',
|
'footer-middle-content' => 'Footer Middle Content',
|
||||||
'update-meta-data' => 'Update Meta Data',
|
'update-meta-data' => 'Update Meta Data',
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,19 @@
|
||||||
|
|
||||||
{{-- @include ($typeView) --}}
|
{{-- @include ($typeView) --}}
|
||||||
|
|
||||||
|
<div class="control-group">
|
||||||
|
<label for="footer_content">
|
||||||
|
{{ __('velocity::app.admin.meta-data.subscription-content') }}
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<textarea
|
||||||
|
class="control"
|
||||||
|
id="subscription-content"
|
||||||
|
name="subscription-content">
|
||||||
|
{{ $metaData->subscription_bar_content}}
|
||||||
|
</textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="control-group">
|
<div class="control-group">
|
||||||
<label for="footer_content">
|
<label for="footer_content">
|
||||||
{{ __('velocity::app.admin.meta-data.home-page-content') }}
|
{{ __('velocity::app.admin.meta-data.home-page-content') }}
|
||||||
|
|
@ -81,7 +94,7 @@
|
||||||
width: "100%",
|
width: "100%",
|
||||||
image_advtab: true,
|
image_advtab: true,
|
||||||
valid_elements : '*[*]',
|
valid_elements : '*[*]',
|
||||||
selector: 'textarea#home_page_content,textarea#footer_left_content,textarea#footer_middle_content',
|
selector: 'textarea#home_page_content,textarea#footer_left_content,textarea#subscription-content,textarea#footer_middle_content',
|
||||||
plugins: 'image imagetools media wordcount save fullscreen code',
|
plugins: 'image imagetools media wordcount save fullscreen code',
|
||||||
toolbar1: 'formatselect | bold italic strikethrough forecolor backcolor | link | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat | code',
|
toolbar1: 'formatselect | bold italic strikethrough forecolor backcolor | link | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat | code',
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,25 @@
|
||||||
|
@php
|
||||||
|
$activeShippings = [];
|
||||||
|
$activePayments = [];
|
||||||
|
|
||||||
|
$shippings = core()->getConfigData('sales.carriers');
|
||||||
|
$payments = core()->getConfigData('sales.paymentmethods');
|
||||||
|
|
||||||
|
foreach($shippings as $ship)
|
||||||
|
{
|
||||||
|
if ($ship['active'] == "true") {
|
||||||
|
array_push($activeShippings, $ship['title']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($payments as $payment)
|
||||||
|
{
|
||||||
|
if ($payment['active'] == "true") {
|
||||||
|
array_push($activePayments, $payment['title']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@endphp
|
||||||
|
|
||||||
<div class="col-4 footer-rt-content">
|
<div class="col-4 footer-rt-content">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
@ -6,12 +28,11 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="payment-methods">
|
<div class="payment-methods">
|
||||||
<div class="cash bg-image"></div>
|
@foreach($activePayments as $paymentMethod)
|
||||||
<div class="cheque bg-image"></div>
|
<div class="method-sticker">
|
||||||
<div class="visa bg-image"></div>
|
{{ $paymentMethod}}
|
||||||
<div class="master-card bg-image"></div>
|
</div>
|
||||||
<div class="paypal bg-image"></div>
|
@endforeach
|
||||||
<div class="discover bg-image"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -21,7 +42,11 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="shipping-methods">
|
<div class="shipping-methods">
|
||||||
<div class="master-card bg-image"></div>
|
@foreach($activeShippings as $shippingMethod)
|
||||||
|
<div class="method-sticker">
|
||||||
|
{{ $shippingMethod}}
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
@if (core()->getConfigData('customer.settings.newsletter.subscription'))
|
@if (core()->getConfigData('customer.settings.newsletter.subscription'))
|
||||||
<div class="newsletter-subscription">
|
<div class="newsletter-subscription">
|
||||||
<div class="newsletter-wrapper">
|
<div class="newsletter-wrapper">
|
||||||
{!! DbView::make(core()->getCurrentChannel())->field('subscription_bar_content')->render() !!}
|
{!! $velocityMetaData->subscription_bar_content !!}
|
||||||
|
|
||||||
<div class="subscribe-newsletter">
|
<div class="subscribe-newsletter">
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="bundle-items">
|
<ul type="none" class="bundle-items">
|
||||||
<li v-for="(option, index) in options">
|
<li v-for="(option, index) in options">
|
||||||
@{{ option.label }}
|
@{{ option.label }}
|
||||||
|
|
||||||
|
|
@ -71,7 +71,7 @@
|
||||||
{{ __('shop::app.products.none') }}
|
{{ __('shop::app.products.none') }}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="radio" v-for="(product, index2) in option.products">
|
<span class="radio col-12 ml5" v-for="(product, index2) in option.products">
|
||||||
<input type="radio" :name="'bundle_options[' + option.id + '][]'" v-model="selected_product" v-validate="option.is_required ? 'required' : ''" :data-vv-as="'"' + option.label + '"'" :value="product.id" :id="'bundle_options[' + option.id + '][]'">
|
<input type="radio" :name="'bundle_options[' + option.id + '][]'" v-model="selected_product" v-validate="option.is_required ? 'required' : ''" :data-vv-as="'"' + option.label + '"'" :value="product.id" :id="'bundle_options[' + option.id + '][]'">
|
||||||
<label class="radio-view" :for="'bundle_options[' + option.id + '][]'"></label>
|
<label class="radio-view" :for="'bundle_options[' + option.id + '][]'"></label>
|
||||||
|
|
||||||
|
|
@ -181,7 +181,7 @@
|
||||||
data: function() {
|
data: function() {
|
||||||
return {
|
return {
|
||||||
selected_product: (this.option.type == 'checkbox' || this.option.type == 'multiselect') ? [] : null,
|
selected_product: (this.option.type == 'checkbox' || this.option.type == 'multiselect') ? [] : null,
|
||||||
|
|
||||||
qty_validations: ''
|
qty_validations: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,6 @@
|
||||||
|
|
||||||
{!! view_render_event('bagisto.shop.products.view.configurable-options.before', ['product' => $product]) !!}
|
{!! view_render_event('bagisto.shop.products.view.configurable-options.before', ['product' => $product]) !!}
|
||||||
|
|
||||||
<h1>xcvxcf</h1>
|
|
||||||
|
|
||||||
<product-options></product-options>
|
<product-options></product-options>
|
||||||
|
|
||||||
{!! view_render_event('bagisto.shop.products.view.configurable-options.after', ['product' => $product]) !!}
|
{!! view_render_event('bagisto.shop.products.view.configurable-options.after', ['product' => $product]) !!}
|
||||||
|
|
@ -20,7 +18,7 @@
|
||||||
<div v-for='(attribute, index) in childAttributes' class="attribute control-group" :class="[errors.has('super_attribute[' + attribute.id + ']') ? 'has-error' : '']">
|
<div v-for='(attribute, index) in childAttributes' class="attribute control-group" :class="[errors.has('super_attribute[' + attribute.id + ']') ? 'has-error' : '']">
|
||||||
<label class="required">@{{ attribute.label }}</label>
|
<label class="required">@{{ attribute.label }}</label>
|
||||||
|
|
||||||
<span v-if="! attribute.swatch_type || attribute.swatch_type == '' || attribute.swatch_type == 'dropdown'">
|
<span class="custom-form" v-if="! attribute.swatch_type || attribute.swatch_type == '' || attribute.swatch_type == 'dropdown'">
|
||||||
<select
|
<select
|
||||||
class="control"
|
class="control"
|
||||||
v-validate="'required'"
|
v-validate="'required'"
|
||||||
|
|
@ -96,7 +94,7 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
created: function() {
|
created: function() {
|
||||||
this.galleryImages = galleryImages.slice(0)
|
// this.galleryImages = galleryImages.slice(0)
|
||||||
|
|
||||||
var config = @json($config);
|
var config = @json($config);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,13 +20,13 @@
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if ($product->downloadable_links->count())
|
@if ($product->downloadable_links->count())
|
||||||
<div class="link-list control-group" :class="[errors.has('links[]') ? 'has-error' : '']">
|
<div class=" link-list control-group" :class="[errors.has('links[]') ? 'has-error' : '']">
|
||||||
<h3>{{ __('shop::app.products.links') }}</h3>
|
<h3>{{ __('shop::app.products.links') }}</h3>
|
||||||
|
|
||||||
<ul>
|
<ul type="none">
|
||||||
@foreach ($product->downloadable_links as $link)
|
@foreach ($product->downloadable_links as $link)
|
||||||
<li>
|
<li>
|
||||||
<span class="checkbox">
|
<span class="checkbox col-12 ml5">
|
||||||
<input type="checkbox" name="links[]" v-validate="'required'" value="{{ $link->id }}" id="{{ $link->id }}" data-vv-as=""{{ __('shop::app.products.links') }}""/>
|
<input type="checkbox" name="links[]" v-validate="'required'" value="{{ $link->id }}" id="{{ $link->id }}" data-vv-as=""{{ __('shop::app.products.links') }}""/>
|
||||||
<label class="checkbox-view" for="{{ $link->id }}"></label>
|
<label class="checkbox-view" for="{{ $link->id }}"></label>
|
||||||
{{ $link->title . ' + ' . core()->currency($link->price) }}
|
{{ $link->title . ' + ' . core()->currency($link->price) }}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<div class="grouped-product-container">
|
<div class="grouped-product-container">
|
||||||
@if ($product->grouped_products->count())
|
@if ($product->grouped_products->count())
|
||||||
<div class="grouped-product-list">
|
<div class="grouped-product-list">
|
||||||
<ul>
|
<ul type="none">
|
||||||
<li>
|
<li>
|
||||||
<span>{{ __('shop::app.products.name') }}</span>
|
<span>{{ __('shop::app.products.name') }}</span>
|
||||||
<span>{{ __('shop::app.products.qty') }}</span>
|
<span>{{ __('shop::app.products.qty') }}</span>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue