hook_library_info_build()
Add dynamic library definitions.
Modules may implement this hook to add dynamic library definitions. Static libraries, which do not depend on any runtime information, should be declared in a modulename.libraries.yml file instead.
Return value
array[] An array of library definitions to register, keyed by library ID. The library ID will be prefixed with the module name automatically.
See also
core.libraries.yml
Related topics
- Hooks
- Define functions that alter the behavior of Drupal core.
File
- core/lib/Drupal/Core/Render/theme.api.php, line 836
- Hooks and documentation related to the theme and render system.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | function hook_library_info_build() { $libraries = []; // Add a library whose information changes depending on certain conditions. $libraries [ 'mymodule.zombie' ] = [ 'dependencies' => [ 'core/backbone' , ], ]; if (Drupal::moduleHandler()->moduleExists( 'minifyzombies' )) { $libraries [ 'mymodule.zombie' ] += [ 'js' => [ 'mymodule.zombie.min.js' => [], ], 'css' => [ 'base' => [ 'mymodule.zombie.min.css' => [], ], ], ]; } else { $libraries [ 'mymodule.zombie' ] += [ 'js' => [ 'mymodule.zombie.js' => [], ], 'css' => [ 'base' => [ 'mymodule.zombie.css' => [], ], ], ]; } // Add a library only if a certain condition is met. If code wants to // integrate with this library it is safe to (try to) load it unconditionally // without reproducing this check. If the library definition does not exist // the library (of course) not be loaded but no notices or errors will be // triggered. if (Drupal::moduleHandler()->moduleExists( 'vampirize' )) { $libraries [ 'mymodule.vampire' ] = [ 'js' => [ 'js/vampire.js' => [], ], 'css' => [ 'base' => [ 'css/vampire.css' , ], ], 'dependencies' => [ 'core/jquery' , ], ]; } return $libraries ; } |
Please login to continue.