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}} +

+ {{$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 - - @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/ProductGrid/screenshot.png b/resources/views/segments/products_page/ProductGrid/screenshot.png similarity index 100% rename from resources/views/segments/products/ProductGrid/screenshot.png rename to resources/views/segments/products_page/ProductGrid/screenshot.png 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 @@ +
+
+

+ {{$title}} +

+
+ @if(!getSetting($data->area->name.'_'.$data->part.'_invert')) +
+ @include('segments.products_page.ProductGridSidebar.inc.product-sidebar') +
+ @endif + + @if(getSetting($data->area->name.'_'.$data->part.'_invert')) +
+ @include('segments.products_page.ProductGridSidebar.inc.product-sidebar') +
+ @endif +
+
+
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 @@
diff --git a/resources/views/segments/products/ProductGridSidebar/screenshot.png b/resources/views/segments/products_page/ProductGridSidebar/screenshot.png similarity index 100% rename from resources/views/segments/products/ProductGridSidebar/screenshot.png rename to resources/views/segments/products_page/ProductGridSidebar/screenshot.png 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');