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

imadbelasri Laravel
LA

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


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


1- الملف Category.php

ف app كنزيد ملف كنسميه Category.php هادا لي غادي يمكني باش نديرla relation ما بين les produits و les catégories ديالهم هنا كاين la fonction products لي كتقول بأن كل catégorie عندها بزاف ديال les produits الكود ديال الملف هو :

                                                    
                                                        <?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    //
    public function products(){
       return $this->hasMany('App\Product');
    }
}
                                                    
                                                

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

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

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

@section('content')
       
<div class="row" style="margin-top:50px">
    <div class="col-md-12">
        <div class="panel panel-primary">
            <div class="panel-heading">Produits</div>
            <div class="row" style="margin:10px;">
            @foreach($products as $product)
                <div class="col-md-3">
                    <a href="{{route('product.show',$product->id)}}">
                        <div class="thumbnail">
                            <img src="{{URL::to('/images/'.$product->image)}}" height="200" width="200" alt="...">
                            <div class="caption">
                                <h3>{{$product->titre}}</h3>
                                <p>{{$product->description}}</p>
                                <p><span class="label label-primary">{{$product->prix}} dh</span> <strike class="label label-danger"></strike></p>
                                <p><a href="{{route('product.show',['id'=>$product->id])}}" class="btn btn-primary" role="button">Voir</a></p>
                            </div>  
                        </div>
                    </a>
                </div>  
            @endforeach
            </div>
        </div>
    </div>
</div>
@endsection
                                                        
                                                    

3- الملف product-cat.blade.php

دائما فproducts فيه زيد ملف جديد سميه product-cat.blade.php هادا الملف لي فيه الكود لي كيمكن من عرض المنتوجات حسب الفئة لي اختار المستخدم من بعد مكنستقبلوهم من fonction productByCat لي فProductsController.php كنخدم بforeach لي كتمكني من عرض كل معلومة خاصة بكل منتوج فبلاصتها الكود ديال الملف هو :

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

@section('content')
       
<div class="row" style="margin-top:50px">
    <div class="col-md-8">
        <div class="panel panel-primary">
            <div class="panel-heading">{{$categorie->titre}}</div>
            <div class="row" style="margin:10px;">
            @foreach($products as $product)
                <div class="col-md-3">
                    <a href="{{route('product.show',$product->id)}}">
                        <div class="thumbnail">
                            <img src="{{URL::to('/images/'.$product->image)}}" height="200" width="200" alt="...">
                            <div class="caption">
                                <h3>{{$product->titre}}</h3>
                                <p>{{$product->description}}</p>
                                <p><span class="label label-primary">{{$product->prix}} dh</span> <strike class="label label-danger"></strike></p>
                                <p><a href="{{route('product.show',['id'=>$product->id])}}" class="btn btn-primary" role="button">Voir</a></p>
                            </div>  
                        </div>
                    </a>
                </div>  
            @endforeach
            </div>
        </div>
    </div>
</div>
@endsection
                                                        
                                                    

4- الملف show.blade.php

دائما فproducts فيه زيد ملف جديد سميه show.blade.php هادا الملف لي فيه الكود لي كيمكن من عرض المعلومات الخاصة بمنتوج اختارو المستخدم من بعد مكنستقبلوهم من fonction show لي فProductsController.php وأيضا فيه الكود لي كيمكن من إضافة المنتوج للpanier الكود ديال الملف هو :

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

@section('content')
       
<div class="row" style="margin-top:50px">
    <div class="col-md-8">
        <div class="panel panel-primary">
            <div class="panel-heading">Produits</div>
            <div class="row" style="margin:10px;">
                <div class="col-sm-12 col-md-10 col-md-offset-1">
                    <div class="thumbnail">
                        <img src="{{URL::to('/images/'.$product->image)}}" alt="...">
                        <div class="caption">
                            <h3 class="text-center">{{$product->titre}}</h3>
                            <p class="text-center">{{$product->description}}</p>
                            <p class="text-center"><span class="label label-primary">{{$product->prix}} dh</span> <strike class="label label-danger"></strike></p>
                            <form action="{{route('product.add.cart')}}" method="post" class="text-center">
                                <div class="form-group">
                                    <label for="qte">Qté</label>
                                    <input type="text" size="1" name="qte" value="1">
                                    <input type="hidden"  name="id" value="{{$product->id}}">
                                    <input type="hidden"  name="titre" value="{{$product->titre}}">
                                    <input type="hidden"  name="prix" value="{{$product->prix}}">
                                    <input type="hidden"  name="_token" value="{{csrf_token()}}">
                                </div>
                                <div class="form-group">
                                    <button type="submit" name="submit" class="btn btn-success">Ajouter au panier</button>
                                </div>
                            </form>
                        </div>  
                    </div>
                </div>  
            </div>
        </div>
    </div>
</div>
@endsection
                                                        
                                                    

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

فالمجلد views كنزيد ملف جديد كنسميه index.blade.php هادا هو الملف ديال الصفحة الرئيسية ديالنا لي فيه الكود لي كيمكن من عرض المنتوجات لي ترسلونا من لfonction index لي فHomeController.php وأيضا الفئات وعدد المنتوجات لي فكل فئة بالإضافة للمنتوجات الأكثر مبيعا وهادشي كامل ترسل من fonction index لي فHomeController.php الكود ديال الملف هو :

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

@section('content')
       
<div class="row" style="margin-top:50px">
    <div class="col-md-8">
        <div class="panel panel-primary">
            <div class="panel-heading">Produits</div>
            <div class="row" style="margin:10px;">
            @foreach($products as $product)
                <div class="col-md-4">
                    <a href="{{route('product.show',$product->id)}}">
                        <div class="thumbnail">
                            <img src="{{URL::to('/images/'.$product->image)}}" height="200" width="200" alt="...">
                            <div class="caption">
                                <h3>{{$product->titre}}</h3>
                                <p>{{$product->description}}</p>
                                <p><span class="label label-primary">{{$product->prix}} dh</span> <strike class="label label-danger"></strike></p>
                                <p><a href="{{route('product.show',['id'=>$product->id])}}" class="btn btn-primary" role="button">Voir</a></p>
                            </div>  
                        </div>
                    </a>
                </div>  
            @endforeach
            <div>
                {{$products->links()}}
            </div>
            </div>
        </div>
    </div>
    <div class="col-md-4">
        <div class="row">
             <div class="col-md-12">
                <div class="panel panel-primary">
                   <div class="panel-heading">Catégories</div>
                    <ul class="list-group">
                        @foreach($categories as $categorie)
                        <li class="list-group-item">
                            <span class="badge">{{$categorie->products->count()}}</span>
                            <a href="{{route('products.categorie',['categorie'=>$categorie->id])}}">{{$categorie->titre}}</a>
                        </li>
                        @endforeach
                    </ul>
                <div>
            </div>
        </div>
        <div class="row">
             <div class="col-md-12">
                <div class="panel panel-primary">
                   <div class="panel-heading">Les plus vendus</div>
                    <ul class="list-group">
                    @foreach($bestSold as $product)
                        <li class="list-group-item">
                            <span class="badge">{{$product->vendu}}</span>
                             <a href="{{route('product.show',['id'=>$product->id])}}">{{$product->titre}}</a>
                        </li>
                    @endforeach
                    </ul>
                <div>
            </div>
        </div>
    </div>
</div>
@endsection
                                                        
                                                    

دروس ذات صلة

LA

الجزء الأول  Laravel Authentification

Laravel هي وحدة من بزاف ديال php frameworks لي كاينين فالوقت الحاضر تخلقت ف 2011 بالرغم من أنها جديد...


LA

الجزء الثاني Laravel Authentification

فهاد الجزء الثاني غادي نكملو الصفحة الرئيسية ديالنا ومنبعد نقادو الصفحة لي تمكن المستخدم من التسجيل...


LA

كيفاش نسجل نعدل ونمسح المعلومات من قاعدة البيانات

فهاد الدرس غادي نشوفو كيفاش يمكنا نسجلوا معلومات فقاعدة البيانات من نبعد نديروا عليها تعديلات وفالآخ...


LA

كيفاش نصاوب ألبوم صور بإستعمال Laravel الجزء الأول

فدرس اليوم غادي نشوفو كيفاش نديرو نصاوبو ألبوم صور بإستعمال Laravel غادي نزيدو صور فقاعدة البيانات م...


LA

كيفاش نصاوب ألبوم صور بإستعمال Laravel الجزء الثاني

فهاد الجزء الثاني غادي نشوفو كيفاش نزيدو الصور فقاعدة البيانات نعرضوها فالصفحة الرئيسية و نعطيو للمس...


LA

موقع تواصل إجتماعي بإستعمال laravel الجزء الأول

فهاد المشروع الجديد لي هو موقع تواصل إجتماعي بإستعمال laravel غادي نشوفو كيفاش نقادو موقع تواصل على...


LA

موقع تواصل إجتماعي بإستعمال laravel الجزء الثاني

فهاد الجزء الثاني من موقع تواصل إجتماعي بإستعمال laravel غادي نقادو الملفات لي كيمكنو المستخدم من...


LA

موقع تواصل إجتماعي بإستعمال laravel الجزء الثالت

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


LA

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

فهاد الجزء الرابع من موقع تواصل إجتماعي بإستعمال laravel غادي نكملو الملفات الخاصة بالبحث عن مستخدم...


LA

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

فهاد الجزء الخامس من موقع تواصل إجتماعي بإستعمال laravel غادي نكملو الملفات لي بقاونا ولي غادي يمكنو...