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"
|
||||
},
|
||||
"dependencies": {
|
||||
"opencollective": "^1.0.3",
|
||||
"opencollective-postinstall": "^2.0.1",
|
||||
"opencollective": "^1.0.3"
|
||||
"vue-carousel": "^0.18.0"
|
||||
},
|
||||
"collective": {
|
||||
"type": "opencollective",
|
||||
|
|
|
|||
|
|
@ -61,10 +61,10 @@ class ProductsCategoriesProxyController extends Controller
|
|||
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)) {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,21 +1,14 @@
|
|||
{
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"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",
|
||||
|
||||
"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",
|
||||
|
||||
"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"
|
||||
"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",
|
||||
"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",
|
||||
"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": {
|
||||
"axios": "^0.18",
|
||||
"cross-env": "^5.1.4",
|
||||
|
|
@ -24,7 +17,6 @@
|
|||
"jquery": "^3.2",
|
||||
"vue": "^2.1.10"
|
||||
},
|
||||
|
||||
"dependencies": {
|
||||
"bootstrap-sass": "^3.4.1",
|
||||
"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;
|
||||
}
|
||||
|
||||
.product-price .price-label {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
.product-price .sticker {
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
|
@ -1745,6 +1749,12 @@
|
|||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.method-sticker {
|
||||
background-color: grey;
|
||||
display: block;
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* @author Shubham Mehrotra */
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
|
|
@ -2709,7 +2719,7 @@ body::after {
|
|||
}
|
||||
|
||||
.ml15, .advertisement-two-container .ad-2-rt {
|
||||
margin-left: 15px;
|
||||
margin-left: 15px !important;
|
||||
}
|
||||
|
||||
.body-blur {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ use Illuminate\Support\Facades\Schema;
|
|||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddFooterContentInChannels extends Migration
|
||||
class AddSuscriptionBarInVelocity extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
|
|
@ -13,7 +13,7 @@ class AddFooterContentInChannels extends Migration
|
|||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('channels', function($table) {
|
||||
Schema::table('velocity_meta_data', function($table) {
|
||||
$table->text('subscription_bar_content')->nullable();
|
||||
});
|
||||
}
|
||||
|
|
@ -25,7 +25,7 @@ class AddFooterContentInChannels extends Migration
|
|||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('channels', function($table) {
|
||||
Schema::table('velocity_meta_data', function($table) {
|
||||
$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>',
|
||||
|
||||
'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([
|
||||
__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');
|
||||
|
|
|
|||
|
|
@ -1015,6 +1015,10 @@
|
|||
}
|
||||
|
||||
.product-price {
|
||||
.price-label {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
.sticker {
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
|
@ -1039,4 +1043,10 @@
|
|||
.special-price {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
}
|
||||
|
||||
.method-sticker {
|
||||
background-color: grey;
|
||||
display: block;
|
||||
color: white;
|
||||
}
|
||||
|
|
@ -93,6 +93,7 @@ return [
|
|||
'title' => 'Velocity meta data',
|
||||
'home-page-content' => 'Home Page 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-middle-content' => 'Footer Middle Content',
|
||||
'update-meta-data' => 'Update Meta Data',
|
||||
|
|
|
|||
|
|
@ -24,6 +24,19 @@
|
|||
|
||||
{{-- @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">
|
||||
<label for="footer_content">
|
||||
{{ __('velocity::app.admin.meta-data.home-page-content') }}
|
||||
|
|
@ -81,7 +94,7 @@
|
|||
width: "100%",
|
||||
image_advtab: true,
|
||||
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',
|
||||
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="row">
|
||||
|
|
@ -6,12 +28,11 @@
|
|||
</div>
|
||||
|
||||
<div class="payment-methods">
|
||||
<div class="cash bg-image"></div>
|
||||
<div class="cheque bg-image"></div>
|
||||
<div class="visa bg-image"></div>
|
||||
<div class="master-card bg-image"></div>
|
||||
<div class="paypal bg-image"></div>
|
||||
<div class="discover bg-image"></div>
|
||||
@foreach($activePayments as $paymentMethod)
|
||||
<div class="method-sticker">
|
||||
{{ $paymentMethod}}
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -21,7 +42,11 @@
|
|||
</div>
|
||||
|
||||
<div class="shipping-methods">
|
||||
<div class="master-card bg-image"></div>
|
||||
@foreach($activeShippings as $shippingMethod)
|
||||
<div class="method-sticker">
|
||||
{{ $shippingMethod}}
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@if (core()->getConfigData('customer.settings.newsletter.subscription'))
|
||||
<div class="newsletter-subscription">
|
||||
<div class="newsletter-wrapper">
|
||||
{!! DbView::make(core()->getCurrentChannel())->field('subscription_bar_content')->render() !!}
|
||||
{!! $velocityMetaData->subscription_bar_content !!}
|
||||
|
||||
<div class="subscribe-newsletter">
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="bundle-items">
|
||||
<ul type="none" class="bundle-items">
|
||||
<li v-for="(option, index) in options">
|
||||
@{{ option.label }}
|
||||
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
{{ __('shop::app.products.none') }}
|
||||
</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 + '][]'">
|
||||
<label class="radio-view" :for="'bundle_options[' + option.id + '][]'"></label>
|
||||
|
||||
|
|
@ -181,7 +181,7 @@
|
|||
data: function() {
|
||||
return {
|
||||
selected_product: (this.option.type == 'checkbox' || this.option.type == 'multiselect') ? [] : null,
|
||||
|
||||
|
||||
qty_validations: ''
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@
|
|||
|
||||
{!! view_render_event('bagisto.shop.products.view.configurable-options.before', ['product' => $product]) !!}
|
||||
|
||||
<h1>xcvxcf</h1>
|
||||
|
||||
<product-options></product-options>
|
||||
|
||||
{!! 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' : '']">
|
||||
<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
|
||||
class="control"
|
||||
v-validate="'required'"
|
||||
|
|
@ -96,7 +94,7 @@
|
|||
},
|
||||
|
||||
created: function() {
|
||||
this.galleryImages = galleryImages.slice(0)
|
||||
// this.galleryImages = galleryImages.slice(0)
|
||||
|
||||
var config = @json($config);
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@
|
|||
@endif
|
||||
|
||||
@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>
|
||||
|
||||
<ul>
|
||||
<ul type="none">
|
||||
@foreach ($product->downloadable_links as $link)
|
||||
<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') }}""/>
|
||||
<label class="checkbox-view" for="{{ $link->id }}"></label>
|
||||
{{ $link->title . ' + ' . core()->currency($link->price) }}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<div class="grouped-product-container">
|
||||
@if ($product->grouped_products->count())
|
||||
<div class="grouped-product-list">
|
||||
<ul>
|
||||
<ul type="none">
|
||||
<li>
|
||||
<span>{{ __('shop::app.products.name') }}</span>
|
||||
<span>{{ __('shop::app.products.qty') }}</span>
|
||||
|
|
|
|||
Loading…
Reference in New Issue