fix filter
This commit is contained in:
parent
e0e853e2b8
commit
4a32c25337
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Models\Gender;
|
||||||
|
use App\Models\StoreCategory;
|
||||||
use App\Repositories\Catalog\CategoryRepository;
|
use App\Repositories\Catalog\CategoryRepository;
|
||||||
use App\Repositories\Catalog\GenderRepository;
|
use App\Repositories\Catalog\GenderRepository;
|
||||||
use App\Repositories\Catalog\ProductRepository;
|
use App\Repositories\Catalog\ProductRepository;
|
||||||
|
|
@ -14,7 +16,7 @@ class ProductController extends Controller
|
||||||
|
|
||||||
$page = $request->page ?? 1;
|
$page = $request->page ?? 1;
|
||||||
|
|
||||||
$filters = $request->filter ?? [];
|
$filter = $request->filter ?? [];
|
||||||
$sortBy = $request->sort_by ?? 'relevance';
|
$sortBy = $request->sort_by ?? 'relevance';
|
||||||
|
|
||||||
$genderRepository = new GenderRepository;
|
$genderRepository = new GenderRepository;
|
||||||
|
|
@ -29,6 +31,28 @@ class ProductController extends Controller
|
||||||
'sort_by' => $sortBy,
|
'sort_by' => $sortBy,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
if (isset($filter['category']) && $filter['category']){
|
||||||
|
$category = StoreCategory::find($filter['category']);
|
||||||
|
|
||||||
|
if ($category) {
|
||||||
|
$filter['category'] = $category->name;
|
||||||
|
} else {
|
||||||
|
unset($filter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (isset($filter['gender']) && $filter['gender']) {
|
||||||
|
$gender = Gender::find($filter['gender']);
|
||||||
|
|
||||||
|
if ($gender) {
|
||||||
|
$filter['gender'] = $gender->name;
|
||||||
|
} else {
|
||||||
|
unset($filter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$filters = $filter;
|
||||||
|
|
||||||
|
|
||||||
return view('shop.catalog-fashion', [
|
return view('shop.catalog-fashion', [
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
@foreach ($chunks as $chunk)
|
@foreach ($chunks as $chunk)
|
||||||
<li class="d-flex w-100 pt-1">
|
<li class="d-flex w-100 pt-1">
|
||||||
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
||||||
href="{{ route('product.index', ['filter[category]' => $chunk->name, 'filter[gender]' => $gender->name]) }}">{{ $chunk->name }}</a>
|
href="{{ route('product.index', ['filter[category]' => $chunk->id, 'filter[gender]' => $gender->id]) }}">{{ $chunk->name }}</a>
|
||||||
</li>
|
</li>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -232,10 +232,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex flex-wrap gap-2">
|
<div class="d-flex flex-wrap gap-2">
|
||||||
@foreach ($filters as $key => $filter)
|
@foreach ($filters as $key => $filter)
|
||||||
<button type="button" class="btn btn-sm btn-secondary">
|
<a href="{{ route('product.index',[http_build_query(request()->except('filter.'.$key))]) }}" type="button" class="btn btn-sm btn-secondary">
|
||||||
<i class="ci-close fs-sm ms-n1 me-1"></i>
|
<i class="ci-close fs-sm ms-n1 me-1"></i>
|
||||||
{{ $filter }}
|
{{ $filter }}
|
||||||
</button>
|
</a>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -260,7 +260,7 @@
|
||||||
<ul class="nav flex-column gap-2 pe-3">
|
<ul class="nav flex-column gap-2 pe-3">
|
||||||
@foreach ($genders as $gender)
|
@foreach ($genders as $gender)
|
||||||
<li class="nav-item mb-1">
|
<li class="nav-item mb-1">
|
||||||
<a class="nav-link d-block fw-normal p-0" href="{{ route('product.index', array_merge(request()->except('filter[gender]'), ['filter[gender]' => $gender->name])) }}">
|
<a class="nav-link d-block fw-normal p-0" href="{{ route('product.index', array_merge(request()->except('filter[gender]'), ['filter[gender]' => $gender->id])) }}">
|
||||||
{{ $gender->name }}
|
{{ $gender->name }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
@ -286,7 +286,7 @@
|
||||||
<ul class="nav flex-column gap-2 pe-3">
|
<ul class="nav flex-column gap-2 pe-3">
|
||||||
@foreach ($categories as $category)
|
@foreach ($categories as $category)
|
||||||
<li class="nav-item mb-1">
|
<li class="nav-item mb-1">
|
||||||
<a class="nav-link d-block fw-normal p-0" href="{{ route('product.index', array_merge(request()->except('filter[category]'), ['filter[category]' => $category->name])) }}">
|
<a class="nav-link d-block fw-normal p-0" href="{{ route('product.index', array_merge(request()->except('filter[category]'), ['filter[category]' => $category->id])) }}">
|
||||||
{{ $category->name }}
|
{{ $category->name }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue