You are here

function om_maximenu_content_render in OM Maximenu 6

Same name and namespace in other branches
  1. 8 inc/om_maximenu.render.inc \om_maximenu_content_render()
  2. 7 inc/om_maximenu.render.inc \om_maximenu_content_render()

OM Maximenu content rendering engine

8 calls to om_maximenu_content_render()
om-maximenu-accordion-content.tpl.php in tpl/om-maximenu-accordion-content.tpl.php
om_maximenu_accordion_content.tpl.php Default theme implementation of om maximenu contents with accordion blocks
om-maximenu-modal-content.tpl.php in tpl/om-maximenu-modal-content.tpl.php
om_maximenu_modal_content.tpl.php Default theme implementation of om maximenu contents with modal blocks
om-maximenu-roundabout-content.tpl.php in tpl/om-maximenu-roundabout-content.tpl.php
om_maximenu_roundabout_content.tpl.php Default theme implementation of om maximenu contents with roundabout blocks
om-maximenu-submenu-content.tpl.php in tpl/om-maximenu-submenu-content.tpl.php
om_maximenu_submenu_content.tpl.php Default theme implementation of om maximenu contents with submenu blocks
om-maximenu-submenu-content__bubble.tpl.php in tpl/om-maximenu-submenu-content__bubble.tpl.php
om_maximenu_submenu_content.tpl.php Default theme implementation of om maximenu contents with submenu blocks

... See full list

File

inc/om_maximenu.render.inc, line 257
OM Maximenu Render

Code

function om_maximenu_content_render($content = array()) {
  global $_om_maximenu_block_classes;
  global $_om_maximenu_visible_blocks;
  $visible_blocks = $_om_maximenu_visible_blocks;

  //dsm($visible_blocks);
  $block_classes = !empty($_om_maximenu_block_classes) ? $_om_maximenu_block_classes : array();
  $count = 0;
  uasort($content, 'om_sort_by_weight');
  $total = count($content);
  $out = '';
  foreach ($content as $key => $prop) {
    $count++;
    $module = $prop['module'];
    $delta = $prop['delta'];
    $visibility = isset($prop['visibility']) && $prop['visibility'] == 1 ? in_array($module . '__' . $delta, $visible_blocks) ? 1 : 0 : 1;
    if ($visibility) {
      $title = stripslashes(trim($prop['title']));

      // allows markups
      $path = $prop['title_path'] == '<front>' ? '' : $prop['title_path'];
      $options = array();
      $options['query'] = isset($prop['title_path_query']) ? $prop['title_path_query'] : '';
      $options['fragment'] = isset($prop['title_path_fragment']) ? $prop['title_path_fragment'] : '';
      $block_title = !empty($prop['title_path']) ? '<a href="' . url($path, $options) . '" title="' . $title . '">' . $title . '</a>' : $title;
      $block = module_invoke($module, 'block', 'view', $delta);
      $om_classes = $count == 1 ? ' first' : '';
      if ($count == $total) {
        $om_classes .= ' last';
      }
      $om_classes .= isset($block_classes[$module][$delta]) ? ' ' . $block_classes[$module][$delta] : '';
      $out .= theme('om_maximenu_content', $block, $module, $delta, $om_classes, $title, $block_title);
    }
  }
  return $out;
}