diff --git a/eZ/Bundle/EzPublishCoreBundle/Resources/config/templating.yml b/eZ/Bundle/EzPublishCoreBundle/Resources/config/templating.yml index fa707da69c..eb9bc89c50 100644 --- a/eZ/Bundle/EzPublishCoreBundle/Resources/config/templating.yml +++ b/eZ/Bundle/EzPublishCoreBundle/Resources/config/templating.yml @@ -220,8 +220,8 @@ services: ezpublish.view_builder.registry: class: eZ\Publish\Core\MVC\Symfony\View\Builder\Registry\ControllerMatch - calls: - - [addToRegistry, [["@ezpublish.view_builder.content"]]] + arguments: + $viewBuilders: !tagged_iterator { tag: ibexa.view_builder } ezpublish.view_builder.content: class: eZ\Publish\Core\MVC\Symfony\View\Builder\ContentViewBuilder @@ -231,6 +231,8 @@ services: - "@ezpublish.view.view_parameters.injector.dispatcher" - "@request_stack" - "@ezpublish.content_info_location_loader.main" + tags: + - { name: ibexa.view_builder } ezpublish.view.builder_parameter_collector.request_attributes: class: eZ\Publish\Core\MVC\Symfony\View\Builder\ParametersFilter\RequestAttributes diff --git a/eZ/Publish/Core/MVC/Symfony/View/Builder/Registry/ControllerMatch.php b/eZ/Publish/Core/MVC/Symfony/View/Builder/Registry/ControllerMatch.php index 5897157eb1..1a23e1c159 100644 --- a/eZ/Publish/Core/MVC/Symfony/View/Builder/Registry/ControllerMatch.php +++ b/eZ/Publish/Core/MVC/Symfony/View/Builder/Registry/ControllerMatch.php @@ -17,6 +17,15 @@ class ControllerMatch implements ViewBuilderRegistry /** @var \eZ\Publish\Core\MVC\Symfony\View\Builder\ViewBuilder[] */ private $registry = []; + public function __construct(iterable $viewBuilders = []) + { + $toAdd = []; + foreach ($viewBuilders as $viewBuilder) { + $toAdd[] = $viewBuilder; + } + $this->addToRegistry($toAdd); + } + /** * @param \eZ\Publish\Core\MVC\Symfony\View\Builder\ViewBuilder[] $viewBuilders */