diff --git a/core/lib/Drupal/Core/Config/TypedConfigManager.php b/core/lib/Drupal/Core/Config/TypedConfigManager.php index 1181953..0871b9e 100644 --- a/core/lib/Drupal/Core/Config/TypedConfigManager.php +++ b/core/lib/Drupal/Core/Config/TypedConfigManager.php @@ -171,9 +171,10 @@ protected function getDefinitionWithReplacements($base_plugin_id, array $replace // Replace dynamic portions of the definition type. if (!empty($replacements) && strpos($definition['type'], ']')) { $sub_type = $this->determineType($this->replaceName($definition['type'], $replacements), $definitions); + $sub_merge = $this->getDefinition($definitions[$sub_type]['type'], $exception_on_invalid); // Merge the newly determined subtype definition with the original // definition. - $definition = NestedArray::mergeDeepArray([$definitions[$sub_type], $definition], TRUE); + $definition = NestedArray::mergeDeepArray([$sub_merge, $definition], TRUE); $type = "$type||$sub_type"; } // Unset type so we try the merge only once per type.