diff --git a/src/Template/ComponentsInfo.php b/src/Template/ComponentsInfo.php index 189dfd1be9cc8a150c9bd465fdaee5b7d119377e..63807bdf2f2c108ffb86338e8d312d0232bfb22b 100644 --- a/src/Template/ComponentsInfo.php +++ b/src/Template/ComponentsInfo.php @@ -124,14 +124,16 @@ class ComponentsInfo { foreach ($extension_list->getAllInstalledInfo() as $name => $extension_info) { // Find the components info. - $info = !empty($extension_info['components']) ? $extension_info['components'] : []; + $info = isset($extension_info['components']) && is_array($extension_info['components']) ? $extension_info['components'] : []; // Look for namespaces using 1.x API (backwards compatibility). if (!isset($info['namespaces']) && isset($extension_info['component-libraries'])) { $this->logWarning(sprintf('Components 8.x-1.x API is deprecated in components:8.x-2.0 and is removed from components:3.0.0. Update the %s.info.yml file to replace the component-libraries.[namespace].paths data with components.namespaces.[namespace]. See https://www.drupal.org/node/3082817', $name)); - foreach ($extension_info['component-libraries'] as $namespace => $namespace_data) { - if (!empty($namespace_data['paths'])) { - $info['namespaces'][$namespace] = $namespace_data['paths']; + if (is_array($extension_info['component-libraries'])) { + foreach ($extension_info['component-libraries'] as $namespace => $namespace_data) { + if (!empty($namespace_data['paths'])) { + $info['namespaces'][$namespace] = $namespace_data['paths']; + } } } }