public function UltimenuManager::attach in Ultimenu 8.2
Returns array of needed assets suitable for #attached property.
Parameters
array $config: The config which determine what library to attach.
Return value
array The supported libraries.
Overrides UltimenuManagerInterface::attach
1 call to UltimenuManager::attach()
- UltimenuManager::preRenderBuild in src/
UltimenuManager.php - Builds the Ultimenu outputs as a structured array ready for ::renderer().
File
- src/
UltimenuManager.php, line 232
Class
- UltimenuManager
- Implements UltimenuManagerInterface.
Namespace
Drupal\ultimenuCode
public function attach(array $config = []) {
$load = [];
$load['library'][] = 'ultimenu/ultimenu';
if (!empty($config['skin_basename'])) {
$load['library'][] = 'ultimenu/skin.' . $config['skin_basename'];
}
if (!empty($config['orientation']) && strpos($config['orientation'], 'v') !== FALSE) {
$load['library'][] = 'ultimenu/vertical';
}
if (!empty($config['ajaxify'])) {
$load['library'][] = 'ultimenu/ajax';
}
if (empty($goodies['no-extras'])) {
$load['library'][] = 'ultimenu/extras';
}
// Specific for main navigation.
if ($config['menu_name'] == 'main') {
$canvas_skin = empty($config['canvas_skin']) ? 'scalein' : $config['canvas_skin'];
$load['library'][] = 'ultimenu/hamburger';
$load['library'][] = 'ultimenu/offcanvas.' . $canvas_skin;
// Optional if using the provided configuration.
if (!empty($config['canvas_off']) && !empty($config['canvas_on'])) {
$js_config = [
'canvasOff' => trim(strip_tags($config['canvas_off'])),
'canvasOn' => trim(strip_tags($config['canvas_on'])),
];
$load['drupalSettings']['ultimenu'] = $js_config;
}
}
if ($mw = $this
->getSetting('ajaxmw')) {
$load['drupalSettings']['ultimenu']['ajaxmw'] = $mw;
}
$this->moduleHandler
->alter('ultimenu_attach', $load, $attach);
return $load;
}