public function UltimenuManager::buildFlyout in Ultimenu 8.2
Returns the renderable array region data.
Parameters
string $region: The string identifier for a Ultimenu region. e.g. "ultimenu_main_about".
array $config: The config available for the menu tree.
Return value
array The region data.
Overrides UltimenuManagerInterface::buildFlyout
1 call to UltimenuManager::buildFlyout()
- UltimenuManager::getFlyout in src/
UltimenuManager.php - Returns the flyout if available.
File
- src/
UltimenuManager.php, line 510
Class
- UltimenuManager
- Implements UltimenuManagerInterface.
Namespace
Drupal\ultimenuCode
public function buildFlyout($region, array $config) {
$build = $content = [];
$reverse = FALSE;
$count = 0;
if (!empty($config['has_submenu'])) {
$reverse = !empty($config['submenu_position']) && $config['submenu_position'] == 'bottom';
$content[] = $this->tree
->loadSubMenuTree($config['menu_name'], $config['mlid'], $config['title']);
}
if ($blocks = $this
->getBlocksByRegion($region, $config)) {
$content[] = $blocks;
$count = count($blocks);
}
if ($content = array_filter($content)) {
$config['count'] = $count;
$build['content'] = $reverse ? array_reverse($content, TRUE) : $content;
$build['#config'] = $config;
$build['#region'] = $region;
$build['#sorted'] = TRUE;
$attributes['class'][] = 'ultimenu__region';
// Useful to calculate grids.
if ($count) {
$attributes['class'][] = 'region';
$attributes['class'][] = 'region--count-' . $count;
}
// Add the region theme wrapper for the flyout.
$build['#attributes'] = $attributes;
$build['#theme_wrappers'][] = 'region';
}
return $build;
}