/** * @param int $tagId * @param string $tagName * * @throws \Illuminate\Database\Eloquent\ModelNotFoundException * * @return \Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse */ public function viewAction(int $tagId, string $tagName) { $tag = $this->tagRepository->loadById($tagId); if ($tag->name !== $tagName) { return $this->responseFactory->redirectToRoute('tag.view', ['id' => $tag->id, $tag->name]); } return $this->viewFactory->make('customer.tag.view', compact('tag')); }
/** * @param int $productId * @param string $slug * * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException * * @return \Illuminate\Contracts\View\View|\Illuminate\Http\Response */ public function viewAction(int $productId, string $slug) { $product = $this->productRepository->loadAlone($productId); if (!$product->id) { throw new NotFoundHttpException(); } if ($product->slug !== $slug) { return $this->responseFactory->redirectToRoute('product::view', ['id' => $product->id, 'slug' => $product->slug], 301); } return $this->view->make('customer.product.view', ['product' => $this->view->getProduct($product), 'meta' => $this->view->productMeta($product), 'similar' => $this->view->similarProducts($product)]); }
/** * @param string $route * @param array $parameters * @param int $status * @param array $headers * * @return \Illuminate\Http\RedirectResponse */ public function redirect(string $route, array $parameters = [], int $status = 302, array $headers = []) { return $this->responseFactory->redirectToRoute($route, $parameters, $status, $headers); }