Manage homepage by article, modify article template, enhance basket (add selector)
This commit is contained in:
@@ -1,79 +1,6 @@
|
||||
<div class="row mt-3">
|
||||
<div class="col-12">
|
||||
<div class="card card-primary card-outline card-outline-tabs">
|
||||
<div class="card-header p-0 border-bottom-0">
|
||||
|
||||
<ul class="card-title nav nav-tabs ml-auto" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a href="#characteristics" class="nav-link active" data-toggle="tab" aria-expanded="true">
|
||||
Caractéristiques
|
||||
</a>
|
||||
</li>
|
||||
<!--
|
||||
<li class="nav-item">
|
||||
<a href="#offers" class="nav-link" data-toggle="tab" aria-expanded="true">
|
||||
{{ __('shop.offers.title') }}
|
||||
@if(isset($offers_count))<span class="badge">{{ $offers_count }}</span>@endif
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#shipping" class="nav-link" data-toggle="tab" aria-expanded="true">
|
||||
Livraison
|
||||
@if(isset($shipping_count))<span class="badge">{{ $shipping_count }}</span>@endif
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#stock" class="nav-link" data-toggle="tab" aria-expanded="true">
|
||||
Stock
|
||||
@if(isset($stock_count))<span class="badge">{{ $stock_count }}</span>@endif
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#seo" class="nav-link" data-toggle="tab" aria-expanded="true">
|
||||
Référencement
|
||||
</a>
|
||||
</li>
|
||||
-->
|
||||
</ul>
|
||||
|
||||
<div class="card-tools">
|
||||
@include('components.form.toggle', [
|
||||
'name' => 'visible',
|
||||
'value' => ($article['visible'] ?? null),
|
||||
'on' => __('visible'),
|
||||
'off' => __('invisible'),
|
||||
'meta' => 'data-id=' . ($article['id'] ?? null),
|
||||
'size' => 'sm',
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="characteristics">
|
||||
@include('Admin.Shop.Articles.partials.characteristics')
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="offers">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="shipping">
|
||||
@include('Admin.Shop.Articles.partials.shipping')
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="stock">
|
||||
@include('Admin.Shop.Articles.partials.stock')
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="seo">
|
||||
@include('Admin.Shop.Articles.partials.seo')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@include('Admin.Shop.Articles.partials.characteristics')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,7 +6,12 @@
|
||||
|
||||
@section('content')
|
||||
@component('components.card')
|
||||
@include('components.datatable', ['route' => route('Admin.Shop.Articles.index'), 'model' => 'articles', 'with_filters' => true])
|
||||
@include('components.datatable', [
|
||||
'route' => route('Admin.Shop.Articles.index'),
|
||||
'model' => 'articles',
|
||||
'with_filters' => true,
|
||||
'callback' => 'handleArticle()',
|
||||
])
|
||||
@component('components.layout.modal', ['title' => 'Filtres', 'id' => 'modal-articles-filters'])
|
||||
@include('Admin.Shop.Articles.partials.filters', ['model' => 'articles'])
|
||||
@endcomponent
|
||||
@@ -14,3 +19,17 @@
|
||||
@endsection
|
||||
|
||||
@include('load.form.select2')
|
||||
@include('load.form.toggle')
|
||||
|
||||
@push('js')
|
||||
<script>
|
||||
function handleArticle() {
|
||||
initToggle("{{ route('Admin.Shop.Articles.toggleVisible') }}", '.visible');
|
||||
initToggle("{{ route('Admin.Shop.Articles.toggleHomepage') }}", '.homepage');
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
initSelect2();
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-3">
|
||||
{{ Form::label('model', 'Familles de produit') }}<br>
|
||||
@@ -28,10 +27,32 @@
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-12">
|
||||
<div class="col-8">
|
||||
{{ Form::label('categories', __('shop.shelves.title')) }}<br>
|
||||
@include('components.form.select', ['name' => 'categories[]', 'list' => $categories_options, 'values' => $article['categories'] ?? null, 'class' => 'select2', 'multiple' => true])
|
||||
</div>
|
||||
<div class="col-2">
|
||||
{{ Form::label('visible', 'Visible') }}<br>
|
||||
@include('components.form.toggle', [
|
||||
'name' => 'visible',
|
||||
'value' => ($article['visible'] ?? null),
|
||||
'on' => __('oui'),
|
||||
'off' => __('non'),
|
||||
'meta' => 'data-id=' . ($article['id'] ?? null),
|
||||
'size' => 'sm',
|
||||
])
|
||||
</div>
|
||||
<div class="col-2">
|
||||
{{ Form::label('homepage', __('Accueil')) }}<br>
|
||||
@include('components.form.toggle', [
|
||||
'name' => 'homepage',
|
||||
'value' => ($article['homepage'] ?? null),
|
||||
'on' => __('oui'),
|
||||
'off' => __('non'),
|
||||
'meta' => 'data-id=' . ($article['id'] ?? null),
|
||||
'size' => 'sm',
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
|
||||
49
resources/views/Shop/Baskets/basket.blade.php
Normal file
49
resources/views/Shop/Baskets/basket.blade.php
Normal file
@@ -0,0 +1,49 @@
|
||||
@extends('Shop.layout.layout', [
|
||||
'title' => __('Panier'),
|
||||
])
|
||||
|
||||
@section('content')
|
||||
@if ($basket)
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<div class="row mb-3">
|
||||
<div class="col-4">
|
||||
<h1>Panier</h1>
|
||||
</div>
|
||||
<div class="col-8">
|
||||
Livraison à domicile ...<br>
|
||||
Commande en ligne et livraison par voie postale. Attention certains produits ne sont pas disponibles en livraison.
|
||||
Les sachets disponibles en lignes sont disponibles à la livraison et uniquement quelques plants.
|
||||
</div>
|
||||
</div>
|
||||
@foreach ($basket as $nature => $items)
|
||||
<div class="row mb-3 p-2" style="background-color: #ccc;">
|
||||
<div class="col-12">
|
||||
<h2 style="font-size: 1.6em;">{{ ucfirst($nature) }}</h2>
|
||||
@foreach ($items as $item)
|
||||
@include('Shop.Baskets.partials.article')
|
||||
@endforeach
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="col-4">
|
||||
@component('components.card')
|
||||
Tarif appliqué :
|
||||
@endcomponent
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endsection
|
||||
|
||||
@push('js')
|
||||
<script>
|
||||
$('.basket-quantity').change(function() {
|
||||
var offer_id = $(this).parent('row');
|
||||
console.log(offer_id);
|
||||
});
|
||||
$('.basket-delete').change(function() {
|
||||
var offer_id = $(this).data('id');
|
||||
console.log(offer_id);
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
27
resources/views/Shop/Baskets/partials/article.blade.php
Normal file
27
resources/views/Shop/Baskets/partials/article.blade.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<div class="row mb-3" id="basket_offer-{{ $item['id'] }}">
|
||||
<div class="col-2 text-center">
|
||||
<img src="{{ $item['image'] }}" class="img-fluid">
|
||||
</div>
|
||||
<div class="col-10">
|
||||
<h3 style="font-size: 1.4em;">{{ $item['name'] }}</h3>
|
||||
{{ $item['variation'] }}<br/>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
{{ $item['price'] }} € / unité
|
||||
</div>
|
||||
<div class="col-2">
|
||||
@include('components.form.inputs.number', [
|
||||
'name' => 'quantity',
|
||||
'value' => $item['quantity'],
|
||||
'class' => 'basket-quantity',
|
||||
])
|
||||
</div>
|
||||
<div class="col-2 text-right" style="font-size: 2em;" id="basket_total-{{ $item['id'] }}">
|
||||
{{ $item['quantity'] * $item['price'] }} €
|
||||
</div>
|
||||
<div class="col-2" style="font-size: 2em;">
|
||||
<i class="fa fa-fw fa-trash basket-delete" data-id={{ $item['id'] }}></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,31 +1,33 @@
|
||||
<div class="mb-3 bg-light">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h1 style="font-size: 2em;">{{ $shelve['name'] }}</h1>
|
||||
@if ($shelve['articles'])
|
||||
<div class="mb-3 bg-light">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h1 style="font-size: 2em;">{{ $shelve['name'] }}</h1>
|
||||
</div>
|
||||
<div class="col-6 text-right">
|
||||
<a href="">Découvrir la sélection</a>
|
||||
<a href="">Tout voir</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 text-right">
|
||||
<a href="">Découvrir la sélection</a>
|
||||
<a href="">Tout voir</a>
|
||||
<div class="row shelve_slider_{{ $shelve['id'] }}">
|
||||
@foreach ($shelve['articles'] as $name => $article)
|
||||
<div class="text-center pr-2 pl-2">
|
||||
<a href="{{ route('Shop.Articles.show', ['id' => $article['id']]) }}">
|
||||
<img data-lazy="{{ App\Repositories\Shop\Articles::getPreviewSrc($article['image'] ?? false) }}" class="d-block w-100" alt="{{ $name }}"/>
|
||||
{{ $name }}
|
||||
</a>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="row shelve_slider_{{ $shelve['id'] }}">
|
||||
@foreach ($shelve['articles'] as $name => $article)
|
||||
<div class="text-center pr-2 pl-2">
|
||||
<a href="{{ route('Shop.Articles.show', ['id' => $article['id']]) }}">
|
||||
<img data-lazy="{{ App\Repositories\Shop\Articles::getPreviewSrc($article['image'] ?? false) }}" class="d-block w-100" alt="{{ $name }}"/>
|
||||
{{ $name }}
|
||||
</a>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('js')
|
||||
<script>
|
||||
$('.shelve_slider_{{ $shelve['id'] }}').slick({
|
||||
lazyLoad: 'ondemand',
|
||||
slidesToShow: 6,
|
||||
slidesToScroll: 1
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@push('js')
|
||||
<script>
|
||||
$('.shelve_slider_{{ $shelve['id'] }}').slick({
|
||||
lazyLoad: 'ondemand',
|
||||
slidesToShow: 6,
|
||||
slidesToScroll: 1
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endif
|
||||
Reference in New Issue
Block a user