private function postProcessComplexSetting($setting, $sa, ContainerBuilder $container) { $configResolver = $container->get('ezpublish.config.resolver.core'); if (!$configResolver->hasParameter($setting, null, $sa)) { return false; } $settingValue = $configResolver->getParameter($setting, null, $sa); if (!$this->complexSettingParser->containsDynamicSettings($settingValue)) { return false; } // we kind of need to process this as well, don't we ? if ($this->complexSettingParser->isDynamicSetting($settingValue)) { $parts = $this->complexSettingParser->parseDynamicSetting($settingValue); if (!isset($parts['namespace'])) { $parts['namespace'] = 'ezsettings'; } if (!isset($parts['scope'])) { $parts['scope'] = $sa; } return $configResolver->getParameter($parts['param'], null, $sa); } $value = $settingValue; foreach ($this->complexSettingParser->parseComplexSetting($settingValue) as $dynamicSetting) { $parts = $this->complexSettingParser->parseDynamicSetting($dynamicSetting); if (!isset($parts['namespace'])) { $parts['namespace'] = 'ezsettings'; } if (!isset($parts['scope'])) { $parts['scope'] = $sa; } $dynamicSettingValue = $configResolver->getParameter($parts['param'], $parts['namespace'], $parts['scope']); $value = str_replace($dynamicSetting, $dynamicSettingValue, $value); } return $value; }