function om_maximenu_load in OM Maximenu 7
Same name and namespace in other branches
- 8 inc/om_maximenu.render.inc \om_maximenu_load()
- 6 inc/om_maximenu.render.inc \om_maximenu_load()
Load all OM Maximenu blocks
This will process the main menu and floating blocks
2 calls to om_maximenu_load()
- om_maximenu_preprocess_page in ./
om_maximenu.module - Override or insert om variables into the templates.
- om_maximenu_process_html in ./
om_maximenu.module - Override or insert om variables into the templates.
File
- inc/
om_maximenu.render.inc, line 147 - OM Maximenu Render
Code
function om_maximenu_load() {
global $_om_maximenu_variable;
$maximenu = $_om_maximenu_variable;
$out = array();
if (!empty($maximenu)) {
foreach ($maximenu as $menu_key => $menu_content) {
// update change from tabbed to style
$menu_content['style'] = isset($menu_content['tabbed']) ? $menu_content['tabbed'] : $menu_content['style'];
$visibility_values = isset($menu_content['menu_visibility']) ? $menu_content['menu_visibility'] : array(
'visibility' => 0,
'pages' => '',
);
$visibility = om_maximenu_menu_visibility($visibility_values);
// render for non-block only
if ($visibility && $menu_content['output'] != 'block') {
if (!isset($menu_content['style']) || empty($menu_content['style'])) {
om_maximenu_asset_loader($menu_content);
}
elseif (isset($menu_content['style']) && $menu_content['style'] != 'modal') {
om_maximenu_asset_loader($menu_content);
}
$out[$menu_key]['content'] = om_maximenu_links_render($maximenu[$menu_key], $menu_key);
}
// for modal
if ($visibility) {
//$out[$menu_key]['title'] = $menu_content['title'];
$out[$menu_key]['output'] = $menu_content['output'];
// when to render modal content
if (isset($menu_content['style']) && $menu_content['style'] == 'modal' && (isset($menu_content['block_options']['region']) && !empty($menu_content['block_options']['region']))) {
// if it's output is block and visible in region
$render_modal_content = 1;
}
elseif (isset($menu_content['style']) && $menu_content['style'] == 'modal' && ($menu_content['output'] == 'float' || $menu_content['output'] == 'main_menu')) {
// if the output is either float or main menu
$render_modal_content = 1;
}
elseif ($menu_content['output'] == 'block' && empty($menu_content['block_options']['region']) && (isset($menu_content['modal_content']) && $menu_content['modal_content'] == 1)) {
// force render modal content even if it's not visible in any region
$render_modal_content = 1;
}
else {
// or do not render modal content
$render_modal_content = 0;
}
if ($render_modal_content) {
om_maximenu_asset_loader($menu_content);
$maximenu_name = om_string_name($menu_content['title']);
if (empty($out[$menu_key]['modal_windows'])) {
$out[$menu_key]['modal_windows'] = theme('om_maximenu_modal_content', array(
'links' => $menu_content,
'maximenu_name' => $maximenu_name,
));
}
else {
$out[$menu_key]['modal_windows'] .= theme('om_maximenu_modal_content', array(
'links' => $menu_content,
'maximenu_name' => $maximenu_name,
));
}
}
}
}
}
return $out;
}