| 7 common.inc | drupal_add_library($module, $name, $every_page = NULL) |
| 8 common.inc | drupal_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
12 calls to drupal_add_library()
2 string references to 'drupal_add_library'
File
- includes/
common.inc, line 4580 - Common functions that many Drupal modules will need to reference.
Code
function drupal_add_library($module, $name, $every_page = NULL) {
$added = &drupal_static(__FUNCTION__, array());
// Only process the library if it exists and it was not added already.
if (!isset($added[$module][$name])) {
if ($library = drupal_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] = drupal_process_attached($elements, JS_LIBRARY, TRUE, $every_page);
}
else {
// Requested library does not exist.
$added[$module][$name] = FALSE;
}
}
return $added[$module][$name];
}
Login or register to post comments
Comments
Addition
It is mentioned, but it would be good to be clearer about the fact that the libraries need to have been defined by hook_library().
Getting a list of available libraries
You can find out which libraries are available from a module via drupal_get_library(), I used something like:
dpm(drupal_get_library('system'));This I learned after attempting to re-use the jQuery BBQ library from core. I had blindly googled about and found a few places mentioning this:
drupal_add_library('overlay', 'jquery-bbq');Whereas in the release it's:
drupal_add_library('system', 'jquery.bbq');Where do I call this
Where do I call this function? In my module or template files or pre-processor functions?