Details
-
Bug
-
Resolution: Fixed
-
Medium
-
4.5.4
-
None
-
None
-
Ibexa Commerce, Ibexa Content, Ibexa Experience, Ibexa Open Source
-
Yes
Description
Steps to reproduce: (fresh Ibexa Experience v4.5.4 install)
- Create custom error controller that renders page field from location_id=2 :
config/packages/framework_error.yaml
framework: error_controller: App\Controller\ErrorController::show
src/Controller/ErrorController.php
<?php declare(strict_types=1); namespace App\Controller; use Ibexa\Contracts\Core\Repository\LocationService; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; class ErrorController extends AbstractController { public function show(LocationService $locationService): Response { $location = $locationService->loadLocation(2); return $this->render('@ibexadesign/errors/error.html.twig', [ 'location' => $location ] ); } }
templates/themes/standard/errors/error.html.twig
{{ ibexa_render_field(location.getContent(), 'page') }}
- request non-existing URL https://[domain]/non-existing-url
Result:
Error is thrown:
Call to a member function getUser() on null at /var/www/html/vendor/ibexa/page-builder/src/lib/HTTP/Kernel/Fragment/DecoratedFragmentRenderer.php:197 at Ibexa\PageBuilder\HTTP\Kernel\Fragment\DecoratedFragmentRenderer->decorateWithEditorialModeBearer(object(ControllerReference)) (/var/www/html/vendor/ibexa/page-builder/src/lib/HTTP/Kernel/Fragment/DecoratedFragmentRenderer.php:123) at Ibexa\PageBuilder\HTTP\Kernel\Fragment\DecoratedFragmentRenderer->render(object(ControllerReference), object(Request), array('ignore_errors' => false)) (/var/www/html/vendor/symfony/http-kernel/Fragment/FragmentHandler.php:85) at Symfony\Component\HttpKernel\Fragment\FragmentHandler->render(object(ControllerReference), 'esi', array('ignore_errors' => false)) (/var/www/html/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php:49) at Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler->render(object(ControllerReference), 'esi', array()) (/var/www/html/vendor/symfony/twig-bridge/Extension/HttpKernelRuntime.php:58) at Symfony\Bridge\Twig\Extension\HttpKernelRuntime->renderFragmentStrategy('esi', object(ControllerReference)) (/var/www/html/var/cache/dev/twig/3c/3c792df7044c156459288e3c32a1b578.php:74)