protected LibraryDiscoveryCollector::applyLibrariesExtend($extension, $library_name, $library_definition)
Applies the libraries-extend specified by the active theme.
This extends the library definitions with the those specified by the libraries-extend specifications for the active theme.
Parameters
string $extension: The name of the extension for which library definitions will be extended.
string $library_name: The name of the library whose definitions is to be extended.
$library_definition: The library definition to be extended.
Return value
array The library definition extended as specified by libraries-extend.
Throws
\Drupal\Core\Asset\Exception\InvalidLibrariesExtendSpecificationException
File
- core/lib/Drupal/Core/Asset/LibraryDiscoveryCollector.php, line 135
Class
- LibraryDiscoveryCollector
- A CacheCollector implementation for building library extension info.
Namespace
Drupal\Core\Asset
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | protected function applyLibrariesExtend( $extension , $library_name , $library_definition ) { $libraries_extend = $this ->themeManager->getActiveTheme()->getLibrariesExtend(); if (! empty ( $libraries_extend [ "$extension/$library_name" ])) { foreach ( $libraries_extend [ "$extension/$library_name" ] as $library_extend_name ) { if (! is_string ( $library_extend_name )) { // Only string library names are allowed. throw new InvalidLibrariesExtendSpecificationException( 'The libraries-extend specification for each library must be a list of strings.' ); } list( $new_extension , $new_library_name ) = explode ( '/' , $library_extend_name , 2); $new_libraries = $this ->get( $new_extension ); if (isset( $new_libraries [ $new_library_name ])) { $library_definition = NestedArray::mergeDeep( $library_definition , $new_libraries [ $new_library_name ]); } else { throw new InvalidLibrariesExtendSpecificationException(sprintf( 'The specified library "%s" does not exist.' , $library_extend_name )); } } } return $library_definition ; } |
Please login to continue.