vendor/ibexa/core/src/lib/MVC/Symfony/View/ParametersInjector/EmbedObjectParameters.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 'objectParameters' array as a standalone variable.
  12.  */
  13. class EmbedObjectParameters implements EventSubscriberInterface
  14. {
  15.     public static function getSubscribedEvents()
  16.     {
  17.         return [ViewEvents::FILTER_VIEW_PARAMETERS => 'injectEmbedObjectParameters'];
  18.     }
  19.     public function injectEmbedObjectParameters(FilterViewParametersEvent $event)
  20.     {
  21.         $viewType $event->getView()->getViewType();
  22.         if ($viewType == 'embed' || $viewType == 'embed-inline') {
  23.             $builderParameters $event->getBuilderParameters();
  24.             if (isset($builderParameters['params']['objectParameters']) && is_array($builderParameters['params']['objectParameters'])) {
  25.                 $event->getParameterBag()->set('objectParameters'$builderParameters['params']['objectParameters']);
  26.             }
  27.         }
  28.     }
  29. }
  30. class_alias(EmbedObjectParameters::class, 'eZ\Publish\Core\MVC\Symfony\View\ParametersInjector\EmbedObjectParameters');