loader = $twig->getLoader(); $this->staticSiteBuilder = $staticSiteBuilder; $this->requestStack = $requestStack; } public function show(FlattenException $exception, DebugLoggerInterface $logger = null) : Response { $request = $this->requestStack->getCurrentRequest(); $url = $request->getUri(); $parsedUrl = parse_url($url); if (is_array($parsedUrl) && isset($parsedUrl['path'])) { $arr = explode('/', $parsedUrl['path']); switch ($arr[1]) { //have a number of different sites on this server... case 'static': return $this->staticSiteError($exception, $logger); break; } } // return $this->render( // 'bundles/TwigBundle/Exception/error.html.twig', // [ // 'code' => $exception->getStatusCode(), // 'message' =>$exception->getStatusText() // ] // ); } public function staticSiteError(FlattenException $exception, DebugLoggerInterface $logger = null) : Response { $statusCode = $exception->getStatusCode(); switch ($statusCode) { case 404 : return $this->render( $this->staticSiteBuilder->staticDirectory . '/' . $this->staticSiteBuilder->error404TemplateName . '.html' ); break; default: return $this->render( $this->staticSiteBuilder->staticDirectory . '/' . $this->staticSiteBuilder->errorDefaultTemplateName . '.html' ); break; } // return $this->render( // 'bundles/TwigBundle/Exception/error.html.twig', // [ // 'code' => $exception->getStatusCode(), // 'message' =>$exception->getStatusText() // ] // ); } }