Besma 2 年之前
父节点
当前提交
7d92246383

+ 1 - 1
app/Http/Controllers/backend/CategorieController.php

@@ -20,7 +20,7 @@ class CategorieController extends Controller
     }
     
     public function Index(){
-        $articles = Categorie::get();
+        $articles = Categorie::paginate(5);
 
         return view("backend.category.index",compact('articles'));
      }

+ 1 - 1
app/Http/Controllers/backend/ProduitController.php

@@ -25,7 +25,7 @@ class ProduitController extends Controller
 
     public function Index(){
 
-        $articles = Produit::get();
+        $articles = Produit::paginate(5);
 
         return view("backend.produit.index",compact('articles'));
      }

+ 1 - 1
app/Http/Controllers/backend/PromotionController.php

@@ -21,7 +21,7 @@ class PromotionController extends Controller
 
     public function Index(){
 
-        $articles = Promotion::get();
+        $articles = Promotion::paginate(5);
 
 
        

+ 1 - 1
app/Http/Controllers/backend/SlideController.php

@@ -19,7 +19,7 @@ class SlideController extends Controller
     public function index()
 
     {
-        $articles = Slide::all();
+        $articles = Slide::paginate(5);
         return view('backend.slide.index',compact('articles'));
     }
 

+ 37 - 0
app/Http/Controllers/frontend/ProduitController.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace App\Http\Controllers\frontend;
+use App\Http\Controllers\Controller;
+use App\Models\Produit;
+use App\Models\Categorie;
+
+use Illuminate\Http\Request;
+
+class ProduitController extends Controller
+{
+
+    public function Index(){
+      
+        $produits = Produit::where('etat','1')->get();
+        $categories = Categorie::where('etat','1')->get();
+      
+
+        
+        return view('frontend.produits.produit',compact('produits','categories'));
+    } 
+    public function search(){
+
+        $categories = Categorie::where('etat','1')->get();
+        
+        $q = request()->input('q');
+
+        
+          $produits = Produit::where('nom','like',"%$q%")
+          ->where('etat',true)
+          ->orwhere('description','like',"%$q%")
+          ->paginate(5);
+      
+
+        return view('frontend.produits.search' , compact('produits','categories'));
+    }
+}

+ 2 - 0
app/Providers/AppServiceProvider.php

@@ -2,6 +2,7 @@
 
 namespace App\Providers;
 use Illuminate\Support\Facades\Schema;	
+use Illuminate\Pagination\Paginator;
 
 use Illuminate\Support\ServiceProvider;
 
@@ -25,6 +26,7 @@ class AppServiceProvider extends ServiceProvider
     public function boot()
     {
         Schema::defaultStringLength(191); 
+        Paginator::useBootstrap();
         
     }
 }

二进制
public/frontend/images/bg-shop.jpg


+ 30 - 25
resources/views/backend/category/index.blade.php

@@ -11,7 +11,6 @@
 @include('backend.partials.import')
 
 
-<div class="container">
     <section style="margin-bottom: 44px;">
         <div class="card">
             <div class="card-header">
@@ -31,25 +30,25 @@
             </div>
         </div>
     </section>
-    @if(session('success'))
-    <div class="alert alert-success">
-        {{ session('success') }}
-    </div>
-    @endif
-    @if (count($errors) > 0)
-    <div class="alert alert-danger">
-        <strong>Whoops!</strong> Some problems with your input.<br><br>
-        <ul>
-            @foreach ($errors->all() as $error)
-            <li>{{ $error }}</li>
-            @endforeach
-        </ul>
-    </div>
-    @endif
+          @if(session('success'))
+              <div class="alert alert-success">
+                  {{ session('success') }}
+                  </div>
+            @endif
+             @if (count($errors) > 0)
+             <div class="alert alert-danger">
+                 <strong>Whoops!</strong> Some problems with your input.<br><br>
+                    <ul>
+                      @foreach ($errors->all() as $error)
+                <li>{{ $error }}</li>
+                  @endforeach
+                 </ul>
+               </div>
+               @endif
     
-    @if (Session::has('message'))
-   <div class="alert alert-info">{{ Session::get('message') }}</div>
-@endif
+            @if (Session::has('message'))
+           <div class="alert alert-info">{{ Session::get('message') }}</div>
+         @endif
     <div class="card">
             <div class="card-header">
                Catégories
@@ -129,14 +128,20 @@
 
                         </tbody>
                     </table>
-                    <div>
+                    {!! $articles->links() !!}
+                    
+                      </div> 
+                 </div>
+                 
+             
+            </div>
+  
+ 
+
+
+
 
-                    </div>
-                </div>
-    </section>
 
-    
-</div>
 
 
 @include('backend.partials.alert')

+ 1 - 0
resources/views/backend/produit/index.blade.php

@@ -159,6 +159,7 @@
 
                         </tbody>
                     </table>
+                    {{ $articles->links() }}
                     <div>
 
                     </div>

+ 1 - 0
resources/views/backend/promotion/index.blade.php

@@ -145,6 +145,7 @@
 
                         </tbody>
                     </table>
+                    {!! $articles->links() !!}
                     <div>
 
                     </div>

+ 1 - 0
resources/views/backend/slide/index.blade.php

@@ -131,6 +131,7 @@
 
                         </tbody>
                     </table>
+                    {!! $articles->links() !!}
                     <div>
 
                     </div>

文件差异内容过多而无法显示
+ 10 - 243
resources/views/frontend/home.blade.php


文件差异内容过多而无法显示
+ 254 - 0
resources/views/frontend/layouts/navBar.blade.php


+ 2 - 5
resources/views/frontend/partials/import.blade.php

@@ -3,9 +3,6 @@
 <link rel="stylesheet" href="{{ asset('frontend/css/fonts.css') }}">
 <link rel="stylesheet" href="{{ asset('frontend/css/style.css') }}">
 <link rel="stylesheet" href="{{ asset('frontend/css/bootstrap.css') }}">
-<script src="{{ asset('frontend/js/core.min.js') }}"></script>
-<script src="{{ asset('frontend/js/script.js') }}"></script>
-
-
-
 
+<link rel="icon" href="images/favicon.ico" type="image/x-icon">
+    <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Poppins:300,400,500,600,700%7CLato%7CKalam:300,400,700">

+ 2 - 0
resources/views/frontend/partials/script.blade.php

@@ -0,0 +1,2 @@
+<script src="frontend/js/core.min.js"></script>
+<script src="frontend/js/script.js"></script>

+ 19 - 0
resources/views/frontend/partials/search.blade.php

@@ -0,0 +1,19 @@
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css" integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ==" crossorigin="anonymous" referrerpolicy="no-referrer" />
+
+{{-- 
+<form action="{{route('produits.search')}}">
+ 
+       <input type="text" name="q" class="rd-navbar-search-form-input form-input">
+       <button type="submit"><i class="fa-solid fa-magnifying-glass"></i></button>
+</form> --}}
+
+
+<button class="rd-navbar-search-toggle" data-rd-navbar-toggle=".rd-navbar-search"><span></span></button>
+<form class="rd-search" action="{{route('produits.search')}}" data-search-live="rd-search-results-live">
+    <div class="form-wrap">
+        <input class="rd-navbar-search-form-input form-input" id="rd-navbar-search-form-input" type="text" name="q" autocomplete="off" value="{{request()->q ?? ''}}"/>
+        <label class="form-label" for="rd-navbar-search-form-input">Search...</label>
+        <div class="rd-search-results-live" id="rd-search-results-live"></div>
+        <button class="rd-search-form-submit fl-bigmug-line-search74" type="submit"></button>
+    </div>
+</form>

+ 111 - 0
resources/views/frontend/produits/produit.blade.php

@@ -0,0 +1,111 @@
+
+@extends('frontend.layouts.navBar')
+
+@section('content')
+
+
+
+
+    <div class="page">
+<section class="breadcrumbs-custom">
+    <div class="parallax-container" data-parallax-img="{{asset('frontend/images/bg-shop.jpg')}}">
+      <div class="breadcrumbs-custom-body parallax-content context-dark">
+        <div class="container">
+          <h2 class="breadcrumbs-custom-title">Shop</h2>
+        </div>
+      </div>
+    </div>
+    <div class="breadcrumbs-custom-footer">
+      <div class="container">
+        <ul class="breadcrumbs-custom-path">
+          <li><a href="index.html">Home</a></li>
+          <li class="active">Shop</li>
+        </ul>
+      </div>
+    </div>
+  </section>
+  <!-- Section Shop-->
+  <section class="section section-xxl bg-default text-md-left">
+    <div class="container">
+      <div class="row row-50">
+        
+              <!-- RD Search Form-->
+              <div class="col-lg-4 col-xl-3">
+                <div class="aside row row-30 row-md-50 justify-content-md-between">
+                  
+                  <div class="aside-item col-sm-6 col-md-5 col-lg-12">
+                    <h6 class="aside-title">Categories</h6>
+                    <ul class="list-shop-filter">
+                      @foreach($categories as $categorie)
+                      <li>
+                        <label class="checkbox-inline">
+                          <input name="input-group-radio" value="checkbox-1" type="checkbox"> {{$categorie->nom}}<a>
+                        </label><span class="list-shop-filter-number">({{ $categorie->produits->count() }})</span>
+                      </li>
+                      @endforeach
+                      
+                      
+                      
+                    </ul>
+                    <!-- RD Search Form-->
+                    <form class="rd-search form-search" action="search-results.html" method="GET">
+                      <div class="form-wrap">
+                        <input class="form-input" id="search-form" type="text" name="s" autocomplete="off">
+                        <label class="form-label" for="search-form">Search the shop...</label>
+                        <button class="button-search fl-bigmug-line-search74" type="submit"></button>
+                      </div>
+                    </form>
+                  </div>
+                  
+                </div>
+              </div>
+        <div class="col-lg-8 col-xl-9">
+          
+          <div class="row row-30 row-lg-50">
+            @foreach ($produits as $produit)
+                
+           
+            <div class="col-sm-6 col-md-4 col-lg-6 col-xl-4">
+              <!-- Product-->
+              <article class="product">
+                <div class="product-body">
+                  <div class="product-figure"><img src="{{ asset('storage/image/'.$produit->image) }}" alt="" width="220" height="160"/>
+                     </div>
+                  <h5 class="transform-none product-title"><a href="single-product.html">{{$produit->nom}}</a></h5>
+                  {{-- <div class="product-price-wrap">
+                 
+                  </div> --}}
+                </div>
+                
+                {{-- <span class=""></span> --}}
+                <div class="product-button-wrap mt-4">
+                  <div class="product-button"><a class="button button-secondary button-zakaria fl-bigmug-line-search74" href="single-product.html"></a></div>
+                  <div class="product-button"><a class="button button-primary button-zakaria fl-bigmug-line-shopping202" href="cart-page.html"></a></div>
+                </div>
+              </article>
+            </div>
+            @endforeach
+           
+            
+           
+           
+          </div>
+          <div class="pagination-wrap">
+            <!-- Bootstrap Pagination-->
+            <nav aria-label="Page navigation">
+              <ul class="pagination">
+                <li class="page-item page-item-control disabled"><a class="page-link" href="#" aria-label="Previous"><span class="icon" aria-hidden="true"></span></a></li>
+                <li class="page-item active"><span class="page-link">1</span></li>
+                <li class="page-item"><a class="page-link" href="#">2</a></li>
+                <li class="page-item"><a class="page-link" href="#">3</a></li>
+                <li class="page-item page-item-control"><a class="page-link" href="#" aria-label="Next"><span class="icon" aria-hidden="true"></span></a></li>
+              </ul>
+            </nav>
+          </div>
+        </div>
+      </div>
+    </div>
+  </section>
+</div>
+
+@endsection

+ 98 - 0
resources/views/frontend/produits/search.blade.php

@@ -0,0 +1,98 @@
+
+@extends('frontend.layouts.navBar')
+
+@section('content')
+
+
+
+
+    <div class="page">
+<section class="breadcrumbs-custom">
+    <div class="parallax-container" data-parallax-img="{{asset('frontend/images/bg-shop.jpg')}}">
+      <div class="breadcrumbs-custom-body parallax-content context-dark">
+        <div class="container">
+          <h2 class="breadcrumbs-custom-title">Shop</h2>
+        </div>
+      </div>
+    </div>
+    <div class="breadcrumbs-custom-footer">
+      <div class="container">
+       @if (request()->input())
+           <h6>{{$produits->total()}} résultat(s) pour la recherche "{{request()->q}}"
+       @endif
+      </div>
+    </div>
+  </section>
+  <!-- Section Shop-->
+  <section class="section section-xxl bg-default text-md-left">
+    <div class="container">
+      <div class="row row-50">
+        <div class="col-lg-4 col-xl-3">
+          <div class="aside row row-30 row-md-50 justify-content-md-between">
+            
+            <div class="aside-item col-sm-6 col-md-5 col-lg-12">
+              <h6 class="aside-title">Categories</h6>
+              <ul class="list-shop-filter">
+                @foreach($categories as $categorie)
+                <li>
+                  <label class="checkbox-inline">
+                    <input name="input-group-radio" value="checkbox-1" type="checkbox"> {{$categorie->nom}}<a>
+                  </label><span class="list-shop-filter-number">({{ $categorie->produits->count() }})</span>
+                </li>
+                @endforeach
+                
+                
+              </ul>
+              <!-- RD Search Form-->
+              <form class="rd-search form-search" action="search-results.html" method="GET">
+                <div class="form-wrap">
+                  <input class="form-input" id="search-form" type="text" name="s" autocomplete="off">
+                  <label class="form-label" for="search-form">Search the shop...</label>
+                  <button class="button-search fl-bigmug-line-search74" type="submit"></button>
+                </div>
+              </form>
+            </div>
+            
+          </div>
+        </div>
+        <div class="col-lg-8 col-xl-9">
+          
+          <div class="row row-30 row-lg-50">
+            @foreach ($produits as $produit)
+                
+           
+            <div class="col-sm-6 col-md-4 col-lg-6 col-xl-4">
+              <!-- Product-->
+              <article class="product">
+                <div class="product-body">
+                  <div class="product-figure"><img src="{{ asset('storage/image/'.$produit->image) }}" alt="" width="220" height="160"/>
+                     </div>
+                  <h5 class="transform-none product-title"><a href="single-product.html">{{$produit->nom}}</a></h5>
+                  {{-- <div class="product-price-wrap">
+                 
+                  </div> --}}
+                </div>
+                
+                {{-- <span class=""></span> --}}
+                <div class="product-button-wrap mt-4">
+                  <div class="product-button"><a class="button button-secondary button-zakaria fl-bigmug-line-search74" href="single-product.html"></a></div>
+                  <div class="product-button"><a class="button button-primary button-zakaria fl-bigmug-line-shopping202" href="cart-page.html"></a></div>
+                </div>
+              </article>
+            </div>
+            @endforeach
+           
+           
+           
+          </div>
+          <div class="pagination-wrap">
+            <!-- Bootstrap Pagination-->
+            {!! $produits->links()!!}
+          </div>
+        </div>
+      </div>
+    </div>
+  </section>
+</div>
+
+@endsection

+ 11 - 6
routes/web.php

@@ -19,8 +19,8 @@ Route::get('/', function () {
 Route::get('/new', function () {
     return view('index');
 });
-// Route::get('/test', function () {
-//     return view('frontend/home');
+// Route::get('/produit', function () {
+//     return view('frontend/produits/produit');
 // });
 
 Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
@@ -113,10 +113,7 @@ Route::put('produitDoc/{id}', [App\Http\Controllers\backend\ProduitController::c
 Route::POST('/doc-upload', [App\Http\Controllers\backend\ProduitController::class, 'docUpload']);
 Route::delete("/doc-delete", [App\Http\Controllers\backend\ProduitController::class, "docUploadDelete"]);
 
-// Route::get('changeStatusProduit',  [App\Http\Controllers\backend\ProduitController::class, 'changeStatus']);
 
- Route::get('/test', [App\Http\Controllers\frontend\HomeController::class, 'index']);
-//  Route::get('/test', [App\Http\Controllers\frontend\HomeController::class, 'index']);
 
 
 
@@ -163,4 +160,12 @@ Auth::routes();
 
 Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
 
-Route::get('/send-notification', [backend\NotificationController::class, 'sendPromotionNotification']);
+Route::get('/send-notification', [backend\NotificationController::class, 'sendPromotionNotification']);
+
+//search
+
+Route::get('/test', [App\Http\Controllers\frontend\HomeController::class, 'index']);
+
+Route::get('/search', [App\Http\Controllers\frontend\ProduitController::class, 'search'])->name('produits.search');
+Route::get('/produits', [App\Http\Controllers\frontend\ProduitController::class, 'index'])->name('produits.index');
+