Blame view
app/Http/Controllers/MainController.php
6.47 KB
b80175387 Начальный проект ... |
1 2 3 |
<?php namespace App\Http\Controllers; |
1bd0c6ebe Админка, товары. ... |
4 5 |
use App\Models\Banner; use App\Models\Category; |
2f5f2c1a4 Баг с версткой ка... |
6 |
use App\Models\Good; |
c5f46e4d5 Таблица просматри... |
7 |
use App\Models\Good_Look; |
0cbcbfbe0 Дополнительные ка... |
8 |
use App\Models\Images; |
2f5f2c1a4 Баг с версткой ка... |
9 |
use App\Models\News; |
0cbcbfbe0 Дополнительные ка... |
10 11 |
use App\Models\Project; use Illuminate\Database\Eloquent\Model; |
b80175387 Начальный проект ... |
12 |
use Illuminate\Http\Request; |
0cbcbfbe0 Дополнительные ка... |
13 |
use Illuminate\Support\Facades\Redirect; |
2f5f2c1a4 Баг с версткой ка... |
14 |
use Symfony\Component\HttpFoundation\Session\Storage; |
b80175387 Начальный проект ... |
15 16 17 |
class MainController extends Controller { |
2f5f2c1a4 Баг с версткой ка... |
18 |
// Главная страница |
e73374e87 Каталог ajax, адм... |
19 |
public function index(Request $request) { |
1bd0c6ebe Админка, товары. ... |
20 |
$banners = Banner::query()->orderBy('id')->get(); |
e861ef0f4 Результативная ча... |
21 |
$category = Category::query()->where('parent_id', '>', '0')->orderBy('id')->paginate(6); |
2f5f2c1a4 Баг с версткой ка... |
22 |
|
e73374e87 Каталог ajax, адм... |
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
if (isset($request->filter)) { switch($request->filter) { case 'news':$goods = Good::query()->where('new', '=', '1')->orderBy('id')->paginate(8); break; case 'stock':$goods = Good::query()->where('stock_count', '>', '0')->orderBy('id')->paginate(8); break; case 'demo':$goods = Good::query()->where('demo', '=', '1')->orderBy('id')->paginate(8); break; case 'way':$goods = Good::query()->where('way', '=', '1')->orderBy('id')->paginate(8); break; } } else { $goods = Good::query()->where('new', '=', '1')->orderBy('id')->paginate(8); } if ($request->ajax()) { return view('index_catalog', compact('goods')); } |
2f5f2c1a4 Баг с версткой ка... |
41 |
|
e73374e87 Каталог ajax, адм... |
42 |
$news = News::query()->where('status', '=', 'новость')->orderByDesc('id')->paginate(3); |
2f5f2c1a4 Баг с версткой ка... |
43 |
return view('index', |
e73374e87 Каталог ajax, адм... |
44 |
compact('banners', 'category', 'goods', 'news')); |
b80175387 Начальный проект ... |
45 46 47 48 49 |
} public function about_company() { return view('company'); } |
477c05de1 Каталог страница,... |
50 |
public function catalog(Request $request) { |
295e31db7 Флаги производите... |
51 |
$items = Category::all(); |
477c05de1 Каталог страница,... |
52 |
$goods = Good::query(); |
e73374e87 Каталог ajax, адм... |
53 |
$articles = News::query()->where('status', '=', 'статья')->paginate(10); |
c5f46e4d5 Таблица просматри... |
54 55 56 57 |
$reviews = News::query()->where('status', '=', 'отзыв')->paginate(10); $lookin = Good_Look::query()->orderByDesc('id')->limit(4)->pluck('goods_id') ->toArray(); $lookin_good = Good::query()->whereIn('id', $lookin)->get(); |
477c05de1 Каталог страница,... |
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
if (!empty($request->filter)) { $filter = json_decode($request->filter); if (is_array($filter)) if (count($filter) > 0) $goods = $goods->whereIn('manufacturer', $filter); } if ($request->sort == 'count') { $goods = $goods->orderByDesc('stock_count')->orderByDesc('id'); } if ($request->sort == 'price') { $goods = $goods->orderBy('price')->orderByDesc('id'); } $goods = $goods->paginate(6); if ($request->ajax()) { return view('catalog_ajax', compact('goods')); } |
477c05de1 Каталог страница,... |
79 |
$mf = Good::select('manufacturer')->distinct()->pluck('manufacturer'); |
c5f46e4d5 Таблица просматри... |
80 81 |
return view('catalog', compact('items', 'goods', 'mf', 'articles', 'reviews', 'lookin_good')); |
477c05de1 Каталог страница,... |
82 |
} |
e73374e87 Каталог ajax, адм... |
83 |
public function catalog_detail(Category $category, Request $request) { |
477c05de1 Каталог страница,... |
84 85 |
$items = Category::all(); $title = $category->name; |
e73374e87 Каталог ajax, адм... |
86 |
$goods = Good::query()->where('category_id', '=', $category->id); |
c5f46e4d5 Таблица просматри... |
87 88 89 90 91 |
$articles = News::query()->where('status', '=', 'статья')->paginate(10); $reviews = News::query()->where('status', '=', 'отзыв')->paginate(10); $lookin = Good_Look::query()->orderByDesc('id')->limit(4)->pluck('goods_id') ->toArray(); $lookin_good = Good::query()->whereIn('id', $lookin)->get(); |
e73374e87 Каталог ajax, адм... |
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
if (!empty($request->filter)) { $filter = json_decode($request->filter); if (is_array($filter)) if (count($filter) > 0) $goods = $goods->whereIn('manufacturer', $filter); } if ($request->sort == 'count') { $goods = $goods->orderByDesc('stock_count')->orderByDesc('id'); } if ($request->sort == 'price') { $goods = $goods->orderBy('price')->orderByDesc('id'); } $goods = $goods->paginate(6); if ($request->ajax()) { return view('catalog_ajax', compact('goods')); } |
477c05de1 Каталог страница,... |
113 |
|
e73374e87 Каталог ajax, адм... |
114 |
$mf = Good::select('manufacturer')->distinct()->where('category_id', '=', $category->id)->pluck('manufacturer'); |
c5f46e4d5 Таблица просматри... |
115 116 |
return view('catalog_detail', compact('items', 'category', 'goods', 'title', 'mf', 'articles', 'reviews', 'lookin_good')); |
b80175387 Начальный проект ... |
117 |
} |
295e31db7 Флаги производите... |
118 |
public function good(Good $good) { |
c5f46e4d5 Таблица просматри... |
119 120 121 |
$looking = new Good_Look(); $looking->goods_id = $good->id; $looking->save(); |
0cbcbfbe0 Дополнительные ка... |
122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
$lookin = Good_Look::query()->orderByDesc('id')->limit(4)->pluck('goods_id') ->toArray(); $lookin_good = Good::query()->whereIn('id', $lookin)->get(); $projects = Project::query()->orderByDesc('id')->paginate(10); $sample = Images::query()->where('sample', '=', '1')->where('good_id', '=', $good->id)->get(); $images = Images::query()->where('sample', '=', '0')->where('good_id', '=', $good->id)->get(); $accessory = Good::query()->where('accessory_id', '=', $good->id)->limit(8)->get(); $tooling = Good::query()->where('tooling_id', '=', $good->id)->limit(8)->get(); $also_good = Good::query()->where('category_id', '=', $good->category_id)->limit(4)->get(); return view('good', compact('good', 'accessory', 'tooling', 'also_good', 'sample', 'images', 'lookin_good', 'projects')); } public function simple_good(Good $good) { $looking = new Good_Look(); $looking->goods_id = $good->id; $looking->save(); $lookin = Good_Look::query()->orderByDesc('id')->limit(4)->pluck('goods_id') ->toArray(); $lookin_good = Good::query()->whereIn('id', $lookin)->get(); return view('simple_good', compact('good', 'lookin_good')); |
b80175387 Начальный проект ... |
149 |
} |
0cbcbfbe0 Дополнительные ка... |
150 151 |
public function online() { return redirect()->back(); |
b80175387 Начальный проект ... |
152 |
} |
e861ef0f4 Результативная ча... |
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
public function ajax_category(Request $request){ if ($request->data == 'all') { $category = Category::query()->where('parent_id', '>', '0')->orderBy('id')->get(); } else { $category = Category::query()->where('parent_id', '>', '0')->orderBy('id')->paginate(6); } if ($request->ajax()) { if ($request->data == 'all') { return view('category_ajax', compact('category')); } else { return view('category_ajax_min', compact('category')); } } } |
b80175387 Начальный проект ... |
169 |
} |