From: Raphaƫl Gertz Date: Wed, 14 Oct 2020 01:57:10 +0000 (+0200) Subject: Skip flattening of rapsys_air.locales X-Git-Url: https://git.rapsys.eu/airbundle/commitdiff_plain/63dc472fb614443d32b3af6cb2b6aebcaaa51667 Skip flattening of rapsys_air.locales Add framework configuration loading and merge Store $framework['translator']['fallbacks'] locales array in parameter kernel.translator.fallbacks --- 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); } }