2 declare(strict_types = 1);
19 use Psr\Http\Message\ResponseInterface;
20 use Psr\Http\Message\ServerRequestInterface;
24 use TYPO3Fluid\Fluid\View\ViewInterface;
50 $this->view = GeneralUtility::makeInstance(TemplateView::class);
51 if (!empty($configuration[
'errorFluidTemplatesRootPath'])) {
52 $this->view->setTemplateRootPaths([$configuration[
'errorFluidTemplatesRootPath']]);
54 if (!empty($configuration[
'errorFluidLayoutsRootPath'])) {
55 $this->view->setLayoutRootPaths([$configuration[
'errorFluidLayoutsRootPath']]);
57 if (!empty($configuration[
'errorFluidPartialsRootPath'])) {
58 $this->view->setPartialRootPaths([$configuration[
'errorFluidPartialsRootPath']]);
60 $this->view->setTemplatePathAndFilename(GeneralUtility::getFileAbsFileName($configuration[
'errorFluidTemplate']));
69 public function handlePageError(ServerRequestInterface $request,
string $message, array $reasons = []): ResponseInterface
71 $this->view->assignMultiple([
72 'request' => $request,
73 'message' => $message,
76 return new HtmlResponse($this->view->render(), $this->statusCode);