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

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

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


1- الملف products/index.blade.php


منبعد ف views كنزيد مجلد جديد كنسميه admin فيه زيد مجلد جديد سميه products فيه زيد ملف جديد سميه index.blade.php هادا الملف لي فيه الكود لي كيعرض للأدمن المنتوجات لي عندنا فقاعدة البيانات مع روابط التعديل والحدف فمنبعد مكنسترجع المنتوجات لي ترسلو للملف من fonction index لي ف ProductsController.php كنخدم بforeach باش نعرض المعلومات فالجدول وكاين أيضا لform لي عبارة عن model ولي كتمكن من تعديل المعلومات الخاصة بمنتوج اختارو الأدمن الكود ديال الملف هو :

                                    
                                        @extends('layouts.includes.admin-index')

@section('content')
<div class="form-group">
    <div class="pull-right">
        <a href="{{url('admin/product/add')}}" class="btn btn-primary" style="margin:5px;">Ajouter</a>
    </div>
</div>
<table class="table table-striped">
<tr>
    <th>Titre</th>
    <th>Description</th>
    <th>Prix</th>
    <th>Qté</th>
    <th>Image</th>
    <th>Action</th>
</tr> 
@foreach($products as $product)
<tr>
    <th>{{$product->titre}}</th>
    <th>{{$product->description}}</th>
    <th>{{$product->prix}}</th>
    <th>{{$product->qte}}</th>
    <th><img src="{{URL::to('/images/'.$product->image)}}" height="50" width="50"></th>
    <th><a href="#updateModel{{$product->id}}" data-toggle="modal"><i class="glyphicon glyphicon-pencil"></i></a> <a href="{{route('admin.products.delete',['id'=>$product->id])}}"><i class="glyphicon glyphicon-trash"></i></a></th>
    <div class="modal fade" id="updateModel{{$product->id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title">Modifier</h4>
        </div>
        <div class="modal-body">
             <form action="{{route('admin.product.update',['id'=>$product->id])}}" method="post" class="" style="padding:10px" enctype="multipart/form-data">
                <div class="form-group">
                <label for="titre">Titre*</label>
                <input type="text" class="form-control" name="titre" placeholder="Titre" value="{{$product->titre}}">
                </div>
                <div class="form-group">
                <label for="desc">Déscription*</label>
                <textarea name="desc" id=""  class="form-control" placeholder="Description" cols="30" rows="10">{{$product->description}}</textarea>
                </div>
                <div class="form-group">
                <label for="qte">Qté*</label>
                <input type="text" class="form-control" name="qte" placeholder="Qté" value="{{$product->qte}}">
                </div>
                <div class="form-group">
                <label for="prix">Prix*</label>
                <input type="number" class="form-control" name="prix" placeholder="Prix" value="{{$product->prix}}">
                <input type="hidden" name="_token" value="{{csrf_token()}}">
                </div>
                <button type="submit" class="btn btn-success">Modifier</button>
             </form>
        </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
</tr> 
@endforeach                                   
</table>
@endsection
                                    
                                

2- الملف products/create.blade.php


دائما فproducts فيه زيد ملف جديد سميه create.blade.php هادا الملف لي فيه الكود لي كيمكن الأدمن من إضافة منتوج جديد فقاعدة البيانات بواسطة لfonction store لي فProductsController.php الكود ديال الملف هو :

                                    
                                        @extends('layouts.includes.admin-index')

@section('content')
       
<div class="row" style="margin-top:50px">
    <div class="col-md-6 col-md-offset-3">
        <div class="panel panel-primary">
            <div class="panel-heading">Ajouter un produit</div>
             <form action="{{route('product.add')}}" method="post" class="" style="padding:10px" enctype="multipart/form-data">
                <div class="form-group">
                <label for="titre">Titre*</label>
                <input type="text" class="form-control" name="titre" placeholder="Titre">
                @if($errors->has('titre'))
                    <span style="color:red">{{$errors->first('titre')}}</span>
                @endif
                </div>
                <div class="form-group">
                <label for="desc">Déscription*</label>
                <textarea name="desc" id=""  class="form-control" placeholder="Description" cols="30" rows="10"></textarea>
                @if($errors->has('desc'))
                    <span style="color:red">{{$errors->first('desc')}}</span>
                @endif
                </div>
                <div class="form-group">
                <label for="qte">Qté*</label>
                <input type="text" class="form-control" name="qte" placeholder="Qté">
                @if($errors->has('qte'))
                    <span style="color:red">{{$errors->first('qte')}}</span>
                @endif
                </div>
                <div class="form-group">
                <label for="prix">Prix*</label>
                <input type="number" class="form-control" name="prix" placeholder="Prix">
                @if($errors->has('prix'))
                    <span style="color:red">{{$errors->first('prix')}}</span>
                @endif
                <input type="hidden" name="_token" value="{{csrf_token()}}">
                </div>
                <div class="form-group">
                <label for="image">Image*</label>
                <input type="file" name="file">
                @if($errors->has('file'))
                    <span style="color:red">{{$errors->first('file')}}</span>
                @endif
                </div>
                <button type="submit" class="btn btn-success">Ajouter</button>
             </form>
        </div>
    </div>
</div>
@endsection
                                    
                                

3- الملف users/index.blade.php


ف views/admin كنزيد مجلد جديد كنسميه users فيه زيد ملف جديد سميه index.blade.php هادا الملف لي فيه الكود لي كيعرض للأدمن المستخدمين لي عندنا فقاعدة البيانات مع روابط تعديل الوضعية واش أدمين ولا غير مستخدم عادي والحدف فمنبعد مكنسترجع المستخدمين لي ترسلو للملف من fonction index لي ف UsersController.php كنخدم بforeach باش نعرض المعلومات فالجدول الكود ديال الملف هو :

                                      
                                        @extends('layouts.includes.admin-index')

@section('content')
<table class="table table-striped">
<tr>
    <th>Nom</th>
    <th>Prénom</th>
    <th>Email</th>
    <th>Ville</th>
    <th>Status</th>
    <th>Action</th>
</tr>    
@foreach($users as $user)
<tr>
    <td>{{$user->nom}}</td>
    <td>{{$user->prenom}}</td>
    <td>{{$user->email}}</td>
    <td>{{$user->ville}}</td>
    <td>{{$user->is_admin ? 'admin' : 'inscrit'}}</td>
    <td> 
    <a href="{{route('admin.user.delete',['id'=>$user->id])}}"><i class="glyphicon glyphicon-trash"></i></a>
    @if(!$user->is_admin)
    <a href="{{route('user.update',['id'=>$user->id])}}" title="Désigner admin"><i class="glyphicon glyphicon-user"></i></a>
    @else
    <a href="{{route('user.remove',['id'=>$user->id])}}" title="Retirer admin"><i class="glyphicon glyphicon-user"></i></a>
    </td>
    @endif
</tr> 
@endforeach                               
</table>
@endsection
                                      
                                    

4- الملف categories/index.blade.php


ف views/admin كنزيد مجلد جديد كنسميه categories فيه زيد ملف جديد سميه index.blade.php هادا الملف لي فيه الكود لي كيعرض للأدمن الفئات لي عندنا فقاعدة البيانات مع روابط تعديل كل فئة والحدف فمنبعد مكنسترجع الفئات لي ترسلو للملف من fonction index لي ف CategoriesController.php كنخدم بforeach باش نعرض المعلومات الخاصة بكل فئة فالجدول وكاين أيضا لform لي عبارة عن model ولي كتمكن من تعديل المعلومات الخاصة بكل فئة اختارها المستخدم الكود ديال الملف هو :

                                        
                                            @extends('layouts.includes.admin-index')

@section('content')
<div class="form-group">
    <div class="pull-right">
        <a href="{{route('cat.create')}}" class="btn btn-primary" style="margin:5px;">Ajouter</a>
    </div>
</div>
<table class="table table-striped">
<tr>
    <th>Catégorie</th>
    <th>Action</th>
</tr> 
@foreach($categories as $categorie)  
<tr>
    <td>{{$categorie->titre}}</td>
    <td><a href="#updateModel{{$categorie->id}}" data-toggle="modal"><i class="glyphicon glyphicon-pencil"></i></a> <a href="{{route('categorie.delete',['id'=>$categorie->id])}}"><i class="glyphicon glyphicon-trash"></i></a></td>
    <div class="modal fade" id="updateModel{{$categorie->id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title">Modifier</h4>
        </div>
        <div class="modal-body">
             <form action="{{route('categorie.update',['id'=>$categorie->id])}}" method="post" class="" style="padding:10px" enctype="multipart/form-data">
                <div class="form-group">
                <label for="titre">Titre*</label>
                <input type="text" class="form-control" name="titre" placeholder="Titre" value="{{$categorie->titre}}">
                </div>
                <input type="hidden" name="_token" value="{{csrf_token()}}">
                <button type="submit" class="btn btn-success">Modifier</button>
             </form>
        </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
</tr>    
@endforeach                               
</table>
@endsection
                                        
                                    

5- الملف categories/create.blade.php


دائما ف categories فيه زيد ملف جديد سميه create.blade.php هادا الملف لي فيه الكود لي كيمكن الأدمن من إضافة فئة جديدة فقاعدة البيانات بواسطة لfonction store لي فCategoriesController.php الكود ديال الملف هو :

                                        
                                            @extends('layouts.includes.admin-index')

@section('content')
<div class="form-group">
    <div class="pull-right">
        <a href="{{route('cat.create')}}" class="btn btn-primary" style="margin:5px;">Ajouter</a>
    </div>
</div>
<table class="table table-striped">
<tr>
    <th>Catégorie</th>
    <th>Action</th>
</tr> 
@foreach($categories as $categorie)  
<tr>
    <td>{{$categorie->titre}}</td>
    <td><a href="#updateModel{{$categorie->id}}" data-toggle="modal"><i class="glyphicon glyphicon-pencil"></i></a> <a href="{{route('categorie.delete',['id'=>$categorie->id])}}"><i class="glyphicon glyphicon-trash"></i></a></td>
    <div class="modal fade" id="updateModel{{$categorie->id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title">Modifier</h4>
        </div>
        <div class="modal-body">
             <form action="{{route('categorie.update',['id'=>$categorie->id])}}" method="post" class="" style="padding:10px" enctype="multipart/form-data">
                <div class="form-group">
                <label for="titre">Titre*</label>
                <input type="text" class="form-control" name="titre" placeholder="Titre" value="{{$categorie->titre}}">
                </div>
                <input type="hidden" name="_token" value="{{csrf_token()}}">
                <button type="submit" class="btn btn-success">Modifier</button>
             </form>
        </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
</tr>    
@endforeach                               
</table>
@endsection
                                        
                                    

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