function nav_level_row($show_id, $show_home = 1) { //returns a simple row based navigation if (is_array($show_id) && isset($show_id[1])) { $show_home = $show_id[2]; $show_id = $show_id[1]; } if (strtoupper($show_id) == 'CURRENT') { $act_cat_id = $GLOBALS['content']["cat_id"]; } else { $act_cat_id = intval($show_id); } $nav = ''; if ($show_home && $GLOBALS['content']['struct'][$act_cat_id]['acat_hidden'] != 1) { if ($GLOBALS['content']["cat_id"] == $act_cat_id) { $before = $GLOBALS['template_default']["nav_row"]["link_before_active"]; $after = $GLOBALS['template_default']["nav_row"]["link_after_active"]; $direct_before = $GLOBALS['template_default']["nav_row"]["link_direct_before_active"]; $direct_after = $GLOBALS['template_default']["nav_row"]["link_direct_after_active"]; } else { $before = $GLOBALS['template_default']["nav_row"]["link_before"]; $after = $GLOBALS['template_default']["nav_row"]["link_after"]; $direct_before = $GLOBALS['template_default']["nav_row"]["link_direct_before"]; $direct_after = $GLOBALS['template_default']["nav_row"]["link_direct_after"]; } $nav .= $before; $nav .= '<a href="index.php?'; $nav .= $GLOBALS['content']['struct'][$act_cat_id]['acat_alias'] ? html_specialchars($GLOBALS['content']['struct'][$act_cat_id]['acat_alias']) : 'id=' . $act_cat_id; //',0,0,1,0,0'; $nav .= '"' . (empty($GLOBALS['content']['struct'][$act_cat_id]["acat_class"]) ? '' : ' class="' . $GLOBALS['content']['struct'][$act_cat_id]["acat_class"] . '"') . '>' . $direct_before; $nav .= html_specialchars($GLOBALS['content']['struct'][$act_cat_id]['acat_name']); $nav .= $direct_after . '</a>' . $after; } // check against breadcrumb - active site tree if ($GLOBALS['content']['struct'][$GLOBALS['content']["cat_id"]]['acat_struct'] != 0) { $breadcrumb = get_breadcrumb($GLOBALS['content']["cat_id"], $GLOBALS['content']['struct']); } foreach ($GLOBALS['content']['struct'] as $key => $value) { if ($key != $act_cat_id && _getStructureLevelDisplayStatus($key, $act_cat_id)) { $class = empty($GLOBALS['content']['struct'][$key]["acat_class"]) ? '' : ' class="' . $GLOBALS['content']['struct'][$key]["acat_class"] . '"'; if ($nav) { $nav .= $GLOBALS['template_default']["nav_row"]["between"]; } if ($GLOBALS['content']["cat_id"] == $key || isset($breadcrumb[$key])) { $before = $GLOBALS['template_default']["nav_row"]["link_before_active"]; $after = $GLOBALS['template_default']["nav_row"]["link_after_active"]; $direct_before = $GLOBALS['template_default']["nav_row"]["link_direct_before_active"]; $direct_after = $GLOBALS['template_default']["nav_row"]["link_direct_after_active"]; } else { $before = $GLOBALS['template_default']["nav_row"]["link_before"]; $after = $GLOBALS['template_default']["nav_row"]["link_after"]; $direct_before = $GLOBALS['template_default']["nav_row"]["link_direct_before"]; $direct_after = $GLOBALS['template_default']["nav_row"]["link_direct_after"]; } $nav .= $before; if (!$GLOBALS['content']['struct'][$key]["acat_redirect"]) { $nav .= '<a href="index.php?'; if ($GLOBALS['content']['struct'][$key]["acat_alias"]) { $nav .= html_specialchars($GLOBALS['content']['struct'][$key]["acat_alias"]); } else { $nav .= 'id=' . $key; //',0,0,1,0,0'; } $nav .= '"' . $class . '>'; } else { $redirect = get_redirect_link($GLOBALS['content']['struct'][$key]["acat_redirect"], ' ', ''); $nav .= '<a href="' . $redirect['link'] . '"' . $redirect['target'] . $class . '>'; } $nav .= $direct_before; $nav .= html_specialchars($GLOBALS['content']['struct'][$key]['acat_name']); $nav .= $direct_after . '</a>' . $after; } } if ($nav) { $nav = $GLOBALS['template_default']["nav_row"]["before"] . $nav; $nav .= $GLOBALS['template_default']["nav_row"]["after"]; } return $nav; }
function getStructureChildData($level_id = 0) { if (!isset($GLOBALS['content']['struct'][$level_id])) { return array(); } $struct_data = array(); foreach ($GLOBALS['content']['struct'] as $key => $value) { if (_getStructureLevelDisplayStatus($key, $level_id)) { $struct_data[$key] = $value; } } return $struct_data; }
<?php /** * Create menu where Top Level is <h3>Level</h3> and all submenu as <ul></ul> * good for having footer link blocks */ $h3 = array(); $start_id = 0; foreach ($content['struct'] as $key => $item) { if ($item['acat_struct'] == 0 && _getStructureLevelDisplayStatus($key, $start_id)) { $h3[] = '<h3>' . get_level_ahref($key) . html_specialchars($item['acat_name']) . '</a></h3>'; $h3[] = buildCascadingMenu(',' . $key); // the same as used behind {NAV_LIST_UL:...} - $key is the ID to start with } } $content['all'] = str_replace('{H3_MENU}', implode(LF, $h3), $content['all']);