Uploaded image for project: 'Ibexa IBX'
  1. Ibexa IBX
  2. IBX-7691

Render ezlandingpage field in custom error controller causes error

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • Customer request, 4.5.6, 4.6.1
    • 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') }}
      

      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)
      

      Designs

        Attachments

          Activity

            People

              Unassigned Unassigned
              thorsten.reiter@ibexa.co Thorsten Reiter
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: