vendor/ibexa/core/src/lib/MVC/Symfony/View/ParametersInjector/NoLayout.php line 23

Open in your IDE?
  1. <?php
  2. /**
  3. * @copyright Copyright (C) Ibexa AS. All rights reserved.
  4. * @license For full copyright and license information view LICENSE file distributed with this source code.
  5. */
  6. namespace Ibexa\Core\MVC\Symfony\View\ParametersInjector;
  7. use Ibexa\Core\MVC\Symfony\View\Event\FilterViewParametersEvent;
  8. use Ibexa\Core\MVC\Symfony\View\ViewEvents;
  9. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  10. /**
  11. * Injects the 'no_layout' boolean based on the value of the 'layout' attribute.
  12. */
  13. class NoLayout implements EventSubscriberInterface
  14. {
  15. public static function getSubscribedEvents()
  16. {
  17. return [ViewEvents::FILTER_VIEW_PARAMETERS => 'injectCustomParameters'];
  18. }
  19. public function injectCustomParameters(FilterViewParametersEvent $event)
  20. {
  21. $parameters = $event->getBuilderParameters();
  22. $event->getParameterBag()->set(
  23. 'no_layout',
  24. isset($parameters['layout']) ? !(bool) $parameters['layout'] : false
  25. );
  26. }
  27. }
  28. class_alias(NoLayout::class, 'eZ\Publish\Core\MVC\Symfony\View\ParametersInjector\NoLayout');