موقع ecommerce بإستعمال laravel الجزء الرابع

فهاد الجزء من موقع ecommerce بإستعمال laravel غادي نزيدو الملفات لي غادي يمكنونا باش تكون عندنا القائمة الرئيسية ديال المستخدم العادي والأدمين والملف لي غادي يمكن من عرض رسائل الخطأ والنجاح.

نظرة سريعة بالفيديو


1- الملف main-index.blade.php


ف view زيد مجلد جديد سميه layouts زيد فيه مجلد جديد سميه includes فيه زيد ملف جديد سميه main-index.blade.php هادا هو الملف لي غادي يربط الصفحات ديالنا بملفات css و js وغادي تكون فيه قائمة التصفح وملف عرض الرسائل الكود ديال الملف هو :

                                    
                                        <!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="csrf-token" content="{{ csrf_token() }}" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link href="{{URL::to('css/bootstrap.css')}}" rel="stylesheet">
    <link href="{{URL::to('css/main.css')}}" rel="stylesheet">
    <title>Store.com</title>
</head>
<body>
    @include('layouts.includes.navbar')
    <div class="container">    
       @include('layouts.includes.alerts')
       @yield('content')
    </div>
<script src="{{URL::to('js/jquery.js')}}"></script>
<script src="{{URL::to('js/bootstrap.js')}}"></script>
@yield('script')
</body>
</html>
                                    
                                

2- الملف admin-index.blade.php


دائما فالمجلد includes فيه زيد ملف جديد سميه admin-index.blade.php هادا هو الملف لي غادي يربط الصفحات ديالنا بملفات css و js وغادي تكون فيه قائمة التصفح وملف عرض الرسائل الخاص بجهة الأدمن الكود ديال الملف هو :

                                    
                                        <!DOCTYPE html>
<html lang="fr">
<head>
    <meta name="csrf-token" content="{{ csrf_token() }}" />
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link href="{{URL::to('css/bootstrap.css')}}" rel="stylesheet">
    <link href="{{URL::to('css/main.css')}}" rel="stylesheet">
    <title>Store.com</title>
</head>
<body>
    @include('layouts.includes.admin-nav')
    <div class="container">    
       @include('layouts.includes.alerts')
       @yield('content')
    </div>
<script src="{{URL::to('js/jquery.js')}}"></script>
<script src="{{URL::to('js/bootstrap.js')}}"></script>
@yield('script')
</body>
</html>
                                    
                                

3- الملف navbar.blade.php


دائما فالمجلد includes فيه زيد ملف جديد سميه navbar.blade.php هادا هو الملف لي غادي تكون فيه قائمة التصفح ديال المستخدم العادي ولي كتحقق واش المستخدم لي مكونيكطي أدمين أولا لا بإستعمال fonction is_admin لي عندنا فالملف User.php الكود ديال الملف هو :

                                      
                                        <nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Store.com</a>
    </div>
    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="{{route('index')}}">Accueil <span class="sr-only">(current)</span></a></li>
        <li><a href="{{route('product.index')}}">Produits</a></li>
        <li><a href="{{route('product.panier')}}">Panier {{Cart::count()}}</a></li>
        @if(Auth::check())
        @if(Auth::user()->isAdmin())
        <li><a href="{{url('/admin')}}">Admin</a></li>
        @endif
        @endif
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Compte <span class="caret"></span></a>
          <ul class="dropdown-menu">
            @if(!Auth::check())
            <li><a href="{{route('user.create')}}">Inscription</a></li>
            <li><a href="{{route('user.login')}}">Connexion</a></li>
            @else
            <li><a href="{{route('user.logout')}}">Déconnexion</a></li>
            @endif
          </ul>
        </li>
      </ul>
      <form class="navbar-form navbar-left" method="post" action="">
        <div class="form-group">
          <input type="text" class="form-control" name="user" placeholder="Recherche">
        </div>
        <input type="hidden" name="_token" value="{{Session::token()}}"/>
        <button type="submit" class="btn btn-default">Recherche</button>
      </form>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>
                                      
                                    

4- الملف admin-nav.blade.php


دائما فالمجلد includes فيه زيد ملف جديد سميه admin-nav.blade.php هادا هو الملف لي غادي تكون فيه قائمة التصفح ديال الأدمن الكود ديال الملف هو :

                                        
                                            <nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="{{route('index')}}">Store.com</a>
    </div>
    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="{{route('admin')}}">Accueil <span class="sr-only">(current)</span></a></li>
        <li><a href="{{url('/admin/products')}}">Produits</a></li>
        <li><a href="{{url('/admin/categories')}}">Categories</a></li>
      </ul>
      <ul class="nav navbar-nav">
        <li><a href="{{url('/admin/users')}}">Inscrits</a></li>
        <li><a href="{{route('user.logout')}}">Déconnexion</a></li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>
                                        
                                    

5- الملف alerts.blade.php


دائما فالمجلد includes فيه زيد ملف جديد سميه alerts.blade.php هادا هو الملف لي غادي يعرض رسائل النجاح والفشل ملي يتسجل شي مستخدم أو يبغي يتكونيكطا وغيرها من العمليات الكود ديال الملف هو :

                                        
                                            @if(Session::has('info'))
    <div class="alert alert-info">{{Session::get('info')}}</div>
@endif
@if(Session::has('fail'))
    <div class="alert alert-danger">{{Session::get('fail')}}</div>
@endif
@if(Session::has('success'))
    <div class="alert alert-success">{{Session::get('success')}}</div>
@endif
                                        
                                    

كلمات مفاتيح :