amélios visuelles diverses
This commit is contained in:
parent
fa3a97862d
commit
912a75b274
14 changed files with 4599 additions and 44 deletions
|
|
@ -42,8 +42,8 @@ class ProductsController extends Controller
|
|||
return view ('product', compact('product', 'associated'));
|
||||
}
|
||||
|
||||
public function allProducts(Request $request) {
|
||||
//do better
|
||||
public function allProducts(Request $request)
|
||||
{
|
||||
|
||||
$filter = $request->query('filter');
|
||||
|
||||
|
|
@ -55,6 +55,22 @@ class ProductsController extends Controller
|
|||
$products = Product::where('status', 1)->paginate(12);
|
||||
}
|
||||
|
||||
return view('search', compact('products', 'filter'));
|
||||
$search_title = 'Recherche : ' .$filter;
|
||||
|
||||
return view('search', compact('products', 'search_title', 'filter'));
|
||||
}
|
||||
|
||||
public function tagFiltered(Request $request, $tag_slug)
|
||||
{
|
||||
$products = Product::where('status', 1)
|
||||
->whereHas('tags', function($q) use($tag_slug) {
|
||||
$q->where('slug', '=', $tag_slug);
|
||||
})
|
||||
->paginate(12);
|
||||
|
||||
$tag = Tag::where('slug', $tag_slug)->first();
|
||||
$search_title = $tag->label;
|
||||
|
||||
return view('search', compact('products', 'search_title', 'tag'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
5
package-lock.json
generated
5
package-lock.json
generated
|
|
@ -1074,6 +1074,11 @@
|
|||
"to-fast-properties": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@fortawesome/fontawesome-free": {
|
||||
"version": "5.15.3",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz",
|
||||
"integrity": "sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w=="
|
||||
},
|
||||
"@mrmlnc/readdir-enhanced": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
"vue-template-compiler": "^2.6.12"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-free": "^5.15.3",
|
||||
"sass": "^1.28.0",
|
||||
"vue": "^2.6.12",
|
||||
"vuex": "^3.6.2"
|
||||
|
|
|
|||
6
public/b-o/css/app.css
vendored
6
public/b-o/css/app.css
vendored
File diff suppressed because one or more lines are too long
4481
public/b-o/js/app.js
vendored
4481
public/b-o/js/app.js
vendored
File diff suppressed because one or more lines are too long
1
resources/js/bootstrap.js
vendored
1
resources/js/bootstrap.js
vendored
|
|
@ -9,6 +9,7 @@ window._ = require('lodash');
|
|||
window.axios = require('axios');
|
||||
window.Popper = require('popper.js').default;
|
||||
//window.$ = window.jQuery = require('jquery');
|
||||
require('@fortawesome/fontawesome-free/js/all');
|
||||
require('bootstrap');
|
||||
|
||||
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
||||
|
|
|
|||
3
resources/sass/app.scss
vendored
3
resources/sass/app.scss
vendored
|
|
@ -1,6 +1,9 @@
|
|||
// Fonts
|
||||
@import url('https://fonts.googleapis.com/css?family=Nunito');
|
||||
|
||||
//libs
|
||||
@import "~@fortawesome/fontawesome-free/css/all.min.css";
|
||||
|
||||
// Variables
|
||||
@import 'variables';
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
|
||||
<h1 class="h2">Dashboard</h1>
|
||||
<div class="btn-toolbar mb-2 mb-md-0">
|
||||
<a href="#" class="btn btn-sm btn-primary">Export</a>
|
||||
</div>
|
||||
{{--<div class="btn-toolbar mb-2 mb-md-0">
|
||||
<a href="#" class="btn btn-sm btn-primary">##</a>
|
||||
</div>--}}
|
||||
</div>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -83,18 +83,18 @@
|
|||
<div class="menu-block">
|
||||
<div class="menu-block__title">Nos volailles</div>
|
||||
<ul class="menu-block__list">
|
||||
<li><a href="#">canard</a></li>
|
||||
<li><a href="#">poulet</a></li>
|
||||
<li><a href="#">dinde</a></li>
|
||||
<li><a href="{{route('products.tagfilter', Str::slug('canard'))}}">canard</a></li>
|
||||
<li><a href="{{route('products.tagfilter', Str::slug('poulet'))}}">poulet</a></li>
|
||||
<li><a href="{{route('products.tagfilter', Str::slug('dinde'))}}">dinde</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="menu-block">
|
||||
<div class="menu-block__title">Nos préparations</div>
|
||||
<ul class="menu-block__list">
|
||||
<li><a href="#">charcuteries</a></li>
|
||||
<li><a href="#">panés</a></li>
|
||||
<li><a href="#">produits surgelés</a></li>
|
||||
<li><a href="#">paniers garnis</a></li>
|
||||
<li><a href="{{route('products.tagfilter', Str::slug('charcuteries'))}}">charcuteries</a></li>
|
||||
<li><a href="{{route('products.tagfilter', Str::slug('panés'))}}">panés</a></li>
|
||||
<li><a href="{{route('products.tagfilter', Str::slug('produits surgelés'))}}">produits surgelés</a></li>
|
||||
<li><a href="{{route('products.tagfilter', Str::slug('paniers garnis'))}}">paniers garnis</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,12 @@
|
|||
<div class="related-products__row-block">
|
||||
<div class="related-products__item related-products__product related-product">
|
||||
<a class="related-product__title title title_xs" href="{{route('product', ['productSlug' => $product->slug])}}">{{ $product->name }}</a>
|
||||
<a class="related-product__image" href="{{route('product', ['productSlug' => $product->slug])}}"><img src="{{ asset('/images/produits/' . $product->picture )}}" /></a>
|
||||
<a class="related-product__image" href="{{route('product', ['productSlug' => $product->slug])}}">
|
||||
@if($product->promotions->count())
|
||||
<div class="related-products__specialoffer">Offre spéciale</div>
|
||||
@endif
|
||||
<img src="{{ asset('/images/produits/' . $product->picture )}}" />
|
||||
</a>
|
||||
<div class="related-product__bottom">
|
||||
<div class="related-product__price">@fmt_currency($product->discountedPriceTtc) @fmt_sellunit($product->sell_unit)</div>
|
||||
<button class="related-product__btn btn btn_blue" @click="addtocart({{ $product->id }},1)"></button>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,13 @@
|
|||
@extends('layouts.layout')
|
||||
@extends('layouts.layout',['brParam' => ($tag ?? null)])
|
||||
|
||||
@section('title', __('Tous les produits'))
|
||||
@section('title', ($search_title ?? __('Tous les produits')))
|
||||
|
||||
@section('breadcrumb', request()->route()->getName())
|
||||
|
||||
@section('content')
|
||||
<div class="auth-form auth-form_register">
|
||||
{{-- la champ de recherche dans le header suffit pour le moment
|
||||
<h1 class="mentios-page__title title">{{ $search_title ?? __('Tous les produits') }}</h1>
|
||||
{{-- la champ de recherche dans le header suffit pour le moment
|
||||
<div class="auth-form auth-form_register">
|
||||
<form class="auth-form__form form" method="GET">
|
||||
<div class="form__row">
|
||||
<div class="form__field">
|
||||
|
|
@ -18,8 +21,9 @@
|
|||
<div class="form__field form__submit">
|
||||
<button type="submit" class="form__btn btn btn_blue">{{ __('Filtrer') }}</button>
|
||||
</div>
|
||||
</form>--}}
|
||||
</div>
|
||||
</form>
|
||||
</div>--}}
|
||||
|
||||
@include('partials.products-list')
|
||||
|
||||
@include('partials.ranges-slider')
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<div class="row">
|
||||
<nav id="sidebarMenu" class="col-md-3 col-lg-2 d-md-block bg-light sidebar collapse">
|
||||
<div class="sidebar-sticky pt-3">
|
||||
<ul class="nav flex-column">
|
||||
{{--<ul class="nav flex-column">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Tableau de bord</a>
|
||||
</li>
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Utilisateurs</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>--}}
|
||||
|
||||
{{--<h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
|
||||
<span>PAGES</span>
|
||||
|
|
@ -60,12 +60,17 @@
|
|||
<a class="nav-link" href="{{route('bo.ranges.index')}}">Gammes de produits</a>
|
||||
</li>
|
||||
</ul>--}}
|
||||
<ul class="nav flex-column mb-2">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{route('home')}}" target="_front">Voir le site</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="accordion" id="accordionMenu">
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingPages">
|
||||
<h2 class="mb-0">
|
||||
<button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapseOne">
|
||||
Pages
|
||||
<i class="far fa-file-word"></i> Pages
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
|
@ -87,7 +92,7 @@
|
|||
<div class="card-header" id="headingProduits">
|
||||
<h2 class="mb-0">
|
||||
<button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapseProduits" aria-expanded="true" aria-controls="collapseOne">
|
||||
Produits
|
||||
<i class="fas fa-store"></i> Produits
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
|
@ -107,7 +112,7 @@
|
|||
<div class="card-header" id="headingMerchandising">
|
||||
<h2 class="mb-0">
|
||||
<button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapseMerchandising" aria-expanded="true" aria-controls="collapseOne">
|
||||
Merchandising
|
||||
<i class="fas fa-cart-arrow-down"></i> Merchandising
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
|
@ -124,25 +129,46 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Commandes -->
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingOrders">
|
||||
<h2 class="mb-0">
|
||||
<button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapseOrders" aria-expanded="true" aria-controls="collapseOne">
|
||||
<i class="fas fa-cash-register"></i> Commandes
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div id="collapseOrders" class="collapse {{ ( request()->routeIs('bo.orders*') ) ? 'show' : '' }}" aria-labelledby="headingOrders" tata-parent="#accordionMenu">
|
||||
<div class="card-body">
|
||||
<ul class="nav flex-column mb-2">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{route('bo.orders')}}">Commandes</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingSettings">
|
||||
<h2 class="mb-0">
|
||||
<button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapseSettings" aria-expanded="true" aria-controls="collapseOne">
|
||||
<i class="fas fa-cog"></i> Règlages
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div id="collapseSettings" class="collapse {{ ( request()->routeIs('bo.settings*') ) ? 'show' : '' }}" aria-labelledby="headingSettings" tata-parent="#accordionMenu">
|
||||
<div class="card-body">
|
||||
<ul class="nav flex-column mb-2">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{route('bo.settings')}}">Paramètres</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
|
||||
<span>COMMANDES</span>
|
||||
</h6>
|
||||
<ul class="nav flex-column mb-2">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{route('bo.orders')}}">Commandes</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
|
||||
<span>SERVICE WEB</span>
|
||||
</h6>
|
||||
<ul class="nav flex-column mb-2">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{route('bo.settings')}}">Paramètres</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
|
|
|||
|
|
@ -92,6 +92,14 @@ Breadcrumbs::for('products', function ($trail) {
|
|||
$trail->parent('home');
|
||||
$trail->push(__('Tous les produits'), route('products'));
|
||||
});
|
||||
Breadcrumbs::for('products.tagfilter', function ($trail, $tag) {
|
||||
$trail->parent('products');
|
||||
$trail->push($tag->label, route('products.tagfilter', ['tagSlug', $tag->slug]));
|
||||
});
|
||||
Breadcrumbs::for('search', function ($trail) {
|
||||
$trail->parent('products');
|
||||
$trail->push(__('Recherche'), route('search'));
|
||||
});
|
||||
|
||||
// Second level
|
||||
Breadcrumbs::for('range', function ($trail, $gamme) {
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ Route::get('/mon-panier', [BasketController::class, 'index'])->name('basket');
|
|||
Route::get('/gammes-de-produits', [ProductsController::class, 'ranges'])->name('ranges');
|
||||
Route::get('/gamme-de-produits/{rangeSlug}', [ProductsController::class, 'range'])->name('range')->middleware('redirect-slugs');
|
||||
Route::get('/produits', [ProductsController::class, 'allProducts'])->name('products');
|
||||
Route::get('/produits/{tagSlug}', [ProductsController::class, 'tagFiltered'])->name('products.tagfilter');
|
||||
Route::get('/recherche', [ProductsController::class, 'allProducts'])->name('search');
|
||||
Route::get('/produit/{productSlug}', [ProductsController::class, 'product'])->name('product')->middleware('redirect-slugs');
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue