From 63dc472fb614443d32b3af6cb2b6aebcaaa51667 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Wed, 14 Oct 2020 03:57:10 +0200 Subject: [PATCH] Skip flattening of rapsys_air.locales Add framework configuration loading and merge Store $framework['translator']['fallbacks'] locales array in parameter kernel.translator.fallbacks --- DependencyInjection/RapsysAirExtension.php | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/DependencyInjection/RapsysAirExtension.php b/DependencyInjection/RapsysAirExtension.php index 777a9c1..ba082de 100644 --- a/DependencyInjection/RapsysAirExtension.php +++ b/DependencyInjection/RapsysAirExtension.php @@ -20,6 +20,22 @@ class RapsysAirExtension extends Extension implements PrependExtensionInterface * {@inheritdoc} */ public function prepend(ContainerBuilder $container) { + //Load framework configurations + //XXX: required to extract default_locale and translation.fallbacks + $frameworks = $container->getExtensionConfig('framework'); + + //Recursively merge framework configurations + $framework = array_reduce( + $frameworks, + function ($res, $i) { + return array_merge_recursive($res, $i); + }, + [] + ); + + //Set translator fallbacks + $container->setParameter('kernel.translator.fallbacks', $framework['translator']['fallbacks']); + //Process the configuration $configs = $container->getExtensionConfig($this->getAlias()); @@ -40,7 +56,7 @@ class RapsysAirExtension extends Extension implements PrependExtensionInterface //Store flattened array in parameters //XXX: don't flatten rapsys_air.site.png key which is required to be an array - foreach($this->flatten($config, $this->getAlias(), 10, '.', ['rapsys_air.site.png']) as $k => $v) { + foreach($this->flatten($config, $this->getAlias(), 10, '.', ['rapsys_air.site.png', 'rapsys_air.locales']) as $k => $v) { $container->setParameter($k, $v); } } -- 2.41.0