function hook_responsive_menus_styles_alter in Responsive Menus 8
Same name and namespace in other branches
- 7 responsive_menus.api.php \hook_responsive_menus_styles_alter()
Alter any of the styles registered with Responsive Menus.
This is a very powerful hook that can allow you to: -Bypass a library's requirements. --e.g. Remove a style's requirement on jquery_update or libraries module. -Provide your own libraries or files. -Include additional files to load with a style. -Use a different form function for a style's settings. -Use a different function for building javascript settings.
Parameters
array $styles: Array of all the currently known styles. Options: name: string - Style's name. form: string - Function name to return Drupal FAPI array. js_files: array - Array of paths to JS files to load for this style. css_files: array - Array of paths to CSS files to load for this style. js_settings: string - Function name to build JS settings passed to drupal_add_js(). jquery_version: float - Minimum required jQuery version for this style. -- Note: This setting will require jquery_update module enabled unless the -- user checks "I will provide my own jQuery Library". use_libraries: boolean - TRUE / FALSE to use the Libraries module. library: string - Name of the library, used for Libraries module. selector: string - Text for the admin page describing which selector to use. file: string - Optional file with the form & js_settings callback functions.
Other notes: If you want to bypass the requirement on the Libraries module for a style, you can set 'use_libraries' => FALSE, and then use js_files & css_files to provide the path(s) to the files.
See the 2 examples below. First, showing all the available options. Note including js_files, css_files AND specifying use_libraries => TRUE would result in the Libraries module first trying to load the library, then Responsive Menus would drupal_add_[type] the files in js_files & css_files settings.
Second example is showing how to override the sidr style to lift Libraries module requirement to include your own files.
1 invocation of hook_responsive_menus_styles_alter()
- ResponsiveMenusPluginManager::__construct in src/
ResponsiveMenusPluginManager.php - Creates the discovery object.
File
- ./
responsive_menus.api.php, line 158 - Hooks provided by the Responsive Menus module.
Code
function hook_responsive_menus_styles_alter(&$styles) {
// Example showing all of the currently available fields.
// Note, js_folder & css_folder are excluded until an alternative to glob() is
// built into RM.
$path = drupal_get_path('module', 'my_style_module') . '/styles';
$styles['my_style'] = array(
'name' => t('My Style'),
'form' => 'responsive_menus_my_style_settings',
'js_files' => array(
$path . '/my_style/my_style.js',
$path . '/my_style/my_other_style.js',
),
'css_files' => array(
$path . '/my_style/my_style.css',
),
'js_settings' => 'responsive_menus_my_style_js_settings',
'jquery_version' => 1.7,
'use_libraries' => TRUE,
'library' => 'my_style',
'selector' => t('Text describing what selector to use. e.g. ul'),
// The file parameter can be left empty. It will look in the .module file.
'file' => $path . '/my_style/my_style.inc',
);
// In this next example, I will override the Sidr style to bypass the Libraries
// module and provide my own files in my_module/responsive_menus_alter/sidr/.
$path = drupal_get_path('module', 'my_module') . '/responsive_menus_alter';
$styles['sidr'] = array(
'use_libraries' => FALSE,
'js_files' => array(
$path . '/sidr/my_sidr.js',
),
'css_files' => array(
$path . '/sidr/my_sidr.css',
),
);
}