2011-04-15, 16:51:57
I have a sample solution for the child menu!
Only replacement function!
update our ul > li tag system.
if you have a few problem send me our html menu code. I can adjust position tag's.
sorry my english!
greating's
Only replacement function!
Code:
function get_navigation($currentpage) {
$menu = '';
$path = GSDATAPAGESPATH;
$dir_handle = opendir($path) or die("Unable to open $path");
$filenames = array();
while ($filename = readdir($dir_handle)) {
$filenames[] = $filename;
}
$count="0";
$pagesArray = array();
if (count($filenames) != 0) {
foreach ($filenames as $file) {
if ($file == "." || $file == ".." || is_dir($path . $file) || $file == ".htaccess" ) {
} else {
$data = getXML($path . $file);
if ($data->private != 'Y') {
$pagesArray[$count]['menuStatus'] = $data->menuStatus;
if ($data->menuStatus == 'Y') {
$menuNum = $menuNum + 1;
}
$pagesArray[$count]['menuOrder'] = $data->menuOrder;
$pagesArray[$count]['menu'] = strip_decode($data->menu);
$pagesArray[$count]['url'] = $data->url;
$pagesArray[$count]['title'] = strip_decode($data->title);
$pagesArray[$count]['parent'] = $data->parent;
$count++;
}
}
}
}
$pagesSorted = subval_sort($pagesArray,'menuOrder');
$subpagesSorted = subval_sort($pagesArray,'title');
if (count($pagesSorted) != 0) {
$menu .= '<ul class="sf-menu">';
$menu .= "\n";
foreach ($pagesSorted as $page) {
if ($page['menuStatus'] == 'Y') {
if ($page['menu'] == '') { $page['menu'] = $page['title']; }
if ($page['title'] == '') { $page['title'] = $page['menu']; }
$menuNumL = $menuNumL + 1;
if ($menuNumL == 1) {
$li = 'li class="first"';
} else {
if ($menuNumL != $menuNum) {
$li = 'li';
} else {
$li = 'li class="last"';
$menuNumL = 0;
}
}
$url_nav = $page['url'];
if ("$currentpage" == "$url_nav") {
$menu .= ' <'.$li.'>';
$menu .= "\n";
$menu .= ' <a href="'. find_url($page['url'],$page['parent']) . '" class="current"><span class="span-main">'.$page['menu'].'</span></a>';
$menu .= "\n";
} else {
$menu .= ' <'.$li.'>';
$menu .= "\n";
$menu .= ' <a href="'. find_url($page['url'],$page['parent']) . '" class="main"><span class="span-main">'.$page['menu'].'</span></a>';
$menu .= "\n";
}
foreach ($pagesSorted as $subpage) {
$pageRif = $subpage['parent'];
if ("$pageRif" == "$url_nav") {
$pageNum = $pageNum + 1;
}
}
if ($pageNum != 0) {
$menu .= " <ul>\n";
foreach ($pagesSorted as $subpage) {
$SubRif = $subpage['parent'];
if ($subpage['menu'] == '') { $subpage['menu'] = $subpage['title']; }
if ($subpage['title'] == '') { $subpage['title'] = $subpage['menu']; }
if ("$SubRif" == "$url_nav") {
$liNum = $liNum + 1;
if ($liNum != $pageNum) {
$menu .= ' <li><a href="'. find_url($subpage['url'],$subpage['parent']) . '">'.$subpage['menu'].'</a></li>';
$menu .= "\n";
} else {
$menu .= ' <li class="last"><a href="'. find_url($subpage['url'],$subpage['parent']) . '">'.$subpage['menu'].'</a></li>';
$menu .= "\n";
$liNum = 0;
}
}
}
$menu .= " </ul>\n";
$menu .= " </li>\n";
} else {
$menu .= " </li>\n";
}
$pageNum = 0;
}
}
}
$menu .= "</ul>\n";
$menuNum = 0;
closedir($dir_handle);
echo exec_filter('menuitems',$menu);
}
update our ul > li tag system.
if you have a few problem send me our html menu code. I can adjust position tag's.
sorry my english!
greating's