diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php
index 0a4a2af..e6cb359 100644
--- a/app/Http/Controllers/ClientController.php
+++ b/app/Http/Controllers/ClientController.php
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Models\Attachment;
+use App\Models\Category;
use App\Models\Comment;
use App\Models\Customer;
use App\Models\Gallery;
@@ -143,6 +144,14 @@ class ClientController extends Controller
$posts = $group->posts()->orderByDesc('id')->paginate($this->paginate);
return view('client.group', compact('area', 'posts', 'title', 'subtitle', 'group'));
}
+ public function category(Category $category)
+ {
+ $area = 'category';
+ $title = $category->name;
+ $subtitle = $category->subtitle;
+ $products = $category->products()->orderByDesc('id')->paginate($this->paginate);
+ return view('client.category', compact('area', 'products', 'title', 'subtitle', 'category'));
+ }
public function attachDl(Attachment $attachment)
{
diff --git a/app/Models/Category.php b/app/Models/Category.php
index c8cdebc..8e6c447 100644
--- a/app/Models/Category.php
+++ b/app/Models/Category.php
@@ -77,8 +77,7 @@ class Category extends Model
public function webUrl()
{
- return '#';// WIP
- return route('');
+ return route('client.category',$this->slug);
}
public function products()
diff --git a/resources/views/client/category.blade.php b/resources/views/client/category.blade.php
new file mode 100644
index 0000000..458e0d4
--- /dev/null
+++ b/resources/views/client/category.blade.php
@@ -0,0 +1,18 @@
+@extends('website.inc.website-layout')
+
+@section('title')
+ {{$title}} - {{config('app.name')}}
+@endsection
+@php
+if ($category->bg != null){
+ $bg = $category->bgUrl();
+}
+@endphp
+@section('content')
+
+ @foreach(getParts($area) as $part)
+ @php($p = $part->getBladeWithData())
+ @include($p['blade'],['data' => $p['data']])
+ @endforeach
+
+@endsection
diff --git a/resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.blade.php b/resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.blade.php
new file mode 100644
index 0000000..968f71a
--- /dev/null
+++ b/resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.blade.php
@@ -0,0 +1,23 @@
+
+
+ @if($category->children()->count() > 0)
+
+
+ {{__("Sub categories")}}
+
+
+ @foreach($category->children as $subCat)
+
+
+
}})
+
+ {{$subCat->name}}
+
+
+
+ @endforeach
+
+
+ @endif
+
+
diff --git a/resources/views/segments/products/ProductGrid/ProductGrid.js b/resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.js
similarity index 100%
rename from resources/views/segments/products/ProductGrid/ProductGrid.js
rename to resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.js
diff --git a/resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.json b/resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.json
new file mode 100644
index 0000000..dc1bf48
--- /dev/null
+++ b/resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.json
@@ -0,0 +1,10 @@
+{
+ "name": "SubCategoriesGrid",
+ "version": "1.0",
+ "author": "xStack",
+ "email": "xshop@xstack.ir",
+ "license": "GPL-3.0-or-later",
+ "url": "https:\/\/xstack.ir",
+ "author_url": "https:\/\/4xmen.ir",
+ "packages": []
+}
\ No newline at end of file
diff --git a/resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.php b/resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.php
new file mode 100644
index 0000000..edbbe80
--- /dev/null
+++ b/resources/views/segments/category/SubCategoriesGrid/SubCategoriesGrid.php
@@ -0,0 +1,21 @@
+
-
-
- {{$title}}
-
-
- @if(!getSetting($data->area->name.'_'.$data->part.'_invert'))
-
- @include('segments.products.ProductGridSidebar.inc.product-sidebar')
-
- @endif
-
-
- @foreach($products as $product)
-
- @endforeach
-
- {{$products->links()}}
-
-
- @if(getSetting($data->area->name.'_'.$data->part.'_invert'))
-
- @include('segments.products.ProductGridSidebar.inc.product-sidebar')
-
- @endif
-
-
-
diff --git a/resources/views/segments/products/ProductGrid/ProductGrid.blade.php b/resources/views/segments/products_page/ProductGrid/ProductGrid.blade.php
similarity index 100%
rename from resources/views/segments/products/ProductGrid/ProductGrid.blade.php
rename to resources/views/segments/products_page/ProductGrid/ProductGrid.blade.php
diff --git a/resources/views/segments/products/ProductGridSidebar/ProductGridSidebar.js b/resources/views/segments/products_page/ProductGrid/ProductGrid.js
similarity index 100%
rename from resources/views/segments/products/ProductGridSidebar/ProductGridSidebar.js
rename to resources/views/segments/products_page/ProductGrid/ProductGrid.js
diff --git a/resources/views/segments/products/ProductGrid/ProductGrid.json b/resources/views/segments/products_page/ProductGrid/ProductGrid.json
similarity index 100%
rename from resources/views/segments/products/ProductGrid/ProductGrid.json
rename to resources/views/segments/products_page/ProductGrid/ProductGrid.json
diff --git a/resources/views/segments/products/ProductGrid/ProductGrid.php b/resources/views/segments/products_page/ProductGrid/ProductGrid.php
similarity index 100%
rename from resources/views/segments/products/ProductGrid/ProductGrid.php
rename to resources/views/segments/products_page/ProductGrid/ProductGrid.php
diff --git a/resources/views/segments/products/ProductGrid/ProductGrid.scss b/resources/views/segments/products_page/ProductGrid/ProductGrid.scss
similarity index 100%
rename from resources/views/segments/products/ProductGrid/ProductGrid.scss
rename to resources/views/segments/products_page/ProductGrid/ProductGrid.scss
diff --git a/resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.blade.php b/resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.blade.php
new file mode 100644
index 0000000..2153011
--- /dev/null
+++ b/resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.blade.php
@@ -0,0 +1,61 @@
+
diff --git a/resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.js b/resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.js
new file mode 100644
index 0000000..e69de29
diff --git a/resources/views/segments/products/ProductGridSidebar/ProductGridSidebar.json b/resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.json
similarity index 100%
rename from resources/views/segments/products/ProductGridSidebar/ProductGridSidebar.json
rename to resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.json
diff --git a/resources/views/segments/products/ProductGridSidebar/ProductGridSidebar.php b/resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.php
similarity index 100%
rename from resources/views/segments/products/ProductGridSidebar/ProductGridSidebar.php
rename to resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.php
diff --git a/resources/views/segments/products/ProductGridSidebar/ProductGridSidebar.scss b/resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.scss
similarity index 100%
rename from resources/views/segments/products/ProductGridSidebar/ProductGridSidebar.scss
rename to resources/views/segments/products_page/ProductGridSidebar/ProductGridSidebar.scss
diff --git a/resources/views/segments/products/ProductGridSidebar/inc/product-sidebar.blade.php b/resources/views/segments/products_page/ProductGridSidebar/inc/product-sidebar.blade.php
similarity index 95%
rename from resources/views/segments/products/ProductGridSidebar/inc/product-sidebar.blade.php
rename to resources/views/segments/products_page/ProductGridSidebar/inc/product-sidebar.blade.php
index 439a269..384923d 100644
--- a/resources/views/segments/products/ProductGridSidebar/inc/product-sidebar.blade.php
+++ b/resources/views/segments/products_page/ProductGridSidebar/inc/product-sidebar.blade.php
@@ -18,7 +18,7 @@
- {!! showCatNested(\App\Models\Category::all(['id','name','parent_id'])) !!}
+ {!! showCatNested(\App\Models\Category::all(['id','name','parent_id','slug'])) !!}
diff --git a/routes/web.php b/routes/web.php
index 6e5e712..baf1e8b 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -127,6 +127,7 @@ Route::prefix(config('app.panel.prefix'))->name('admin.')->group(
Route::get('create', [\App\Http\Controllers\Admin\CategoryController::class, 'create'])->name('create');
Route::post('store', [\App\Http\Controllers\Admin\CategoryController::class, 'store'])->name('store');
Route::get('edit/{item}', [\App\Http\Controllers\Admin\CategoryController::class, 'edit'])->name('edit');
+ Route::get('show/{item}', [\App\Http\Controllers\Admin\CategoryController::class, 'show'])->name('show');
Route::post('update/{item}', [\App\Http\Controllers\Admin\CategoryController::class, 'update'])->name('update');
Route::get('delete/{item}', [\App\Http\Controllers\Admin\CategoryController::class, 'destroy'])->name('destroy');
Route::get('restore/{item}', [\App\Http\Controllers\Admin\CategoryController::class, 'restore'])->name('restore');
@@ -363,6 +364,7 @@ Route::name('client.')->group(function (){
Route::get('/products', [\App\Http\Controllers\ClientController::class,'products'])->name('products');
Route::get('/tag/{post}', [\App\Http\Controllers\ClientController::class,'tag'])->name('tag'); // wip
Route::get('/group/{group}', [\App\Http\Controllers\ClientController::class,'group'])->name('group');
+ Route::get('/category/{category}', [\App\Http\Controllers\ClientController::class,'category'])->name('category');
Route::get('/gallery/{gallery}', [\App\Http\Controllers\ClientController::class,'gallery'])->name('gallery');
Route::get('/search', [\App\Http\Controllers\ClientController::class,'search'])->name('search');
Route::get('attach/download/{attachment}', [\App\Http\Controllers\ClientController::class,'attachDl'])->name('attach-dl');