Product::whereIn('slug', $products)->get(), 'set_products' => Product::whereIn('slug', $set_products)->get(), 'user_shop' => Util::getUserShop(), ]; return view('web.index', $data); } public function site($site, $subsite = false, $product_slug = false) { $subsite = trim($subsite, '/'); $product_slug = trim($product_slug, '/'); if($product_slug){ $category = Category::where('slug', $subsite)->where('active', true)->first(); $product = Product::where('slug', $product_slug)->where('active', true)->first(); if ($category && $product) { $data = [ 'user_shop' => Util::getUserShop(), 'subsite' => $subsite, 'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(), 'product' => $product, 'p_count' => Product::where('active', true)->count(), ]; return view('web.templates.produkte-show', $data); } } if($site == 'produkte'){ if($subsite || $subsite != 'alle-produkte') { $category = Category::where('slug', $subsite)->where('active', true)->first(); if ($category) { $data = [ 'user_shop' => Util::getUserShop(), 'subsite' => $subsite, 'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(), 'products' => Product::whereHas('categories', function ($query) use ($category) { $query->where('category_id', '=', $category->id); })->where('active', true)->orderBy('pos', 'DESC')->get(), 'p_count' => Product::where('active', true)->count(), ]; return view('web.templates.' . $site, $data); } } $data = [ 'user_shop' => Util::getUserShop(), 'subsite' => 'alle-produkte', 'categories' => Category::where('active', true)->orderBy('pos', 'ASC')->get(), 'products' => Product::where('active', true)->orderBy('pos', 'ASC')->get(), 'p_count' => Product::where('active', true)->count(), ]; return view('web.templates.'.$site, $data); } $data = [ 'user_shop' => Util::getUserShop() ]; if($subsite){ if(!view()->exists('web.templates.'.$subsite)){ abort(404); } return view('web.templates.'.$subsite, $data); } if(!view()->exists('web.templates.'.$site)){ abort(404); } return view('web.templates.'.$site, $data); } }