1.20.x common.inc | backdrop_add_library($module, $name, $every_page = NULL) |
Adds multiple JavaScript or CSS files at the same time.
A library defines a set of JavaScript and/or CSS files, optionally using settings, and optionally requiring another library. For example, a library can be a jQuery plugin, a JavaScript framework, or a CSS framework. This function allows modules to load a library defined/shipped by itself or a depending module, without having to add all files of the library separately. Each library is only loaded once.
Parameters
$module: The name of the module that registered the library.
$name: The name of the library to add.
$every_page: Set to TRUE if this library is added to every page on the site. Only items with the every_page flag set to TRUE can participate in aggregation.
Return value
TRUE if the library was successfully added; FALSE if the library or one of: its dependencies could not be added.
See also
File
- includes/
common.inc, line 5373 - Common functions that many Backdrop modules will need to reference.
Code
function backdrop_add_library($module, $name, $every_page = NULL) {
$added = &backdrop_static(__FUNCTION__, array());
// Only process the library if it exists and it was not added already.
if (!isset($added[$module][$name])) {
if ($library = backdrop_get_library($module, $name)) {
// Add all components within the library.
$elements['#attached'] = array(
'library' => $library['dependencies'],
'js' => $library['js'],
'css' => $library['css'],
);
$added[$module][$name] = backdrop_process_attached($elements, JS_LIBRARY, TRUE, $every_page);
}
else {
// Requested library does not exist.
$added[$module][$name] = FALSE;
}
}
return $added[$module][$name];
}