Hallo,
ich habe hier ein Script für die Ausgabe von Nested Sets: Nun möchte ich, für den Fall, das ein Menu html-tags kombiniert für einen bestimmten level ein Tag öffnen und dann schließen, wenn das Set wieder geschlossen wird. Öffnen ist leicht, ich weiß aber nicht an welcher stelle und wie ich ihn richtig schließen kann:
ich habe hier ein Script für die Ausgabe von Nested Sets: Nun möchte ich, für den Fall, das ein Menu html-tags kombiniert für einen bestimmten level ein Tag öffnen und dann schließen, wenn das Set wieder geschlossen wird. Öffnen ist leicht, ich weiß aber nicht an welcher stelle und wie ich ihn richtig schließen kann:
PHP-Code:
<?php
$tags = "<div class=\"tagclass\"></div>";
$temp = explode('><', $tags);
$open = Array();
$close = Array();
$open[1] = $temp[0];
$close[1] = $temp[1];
for ($i=0; $i<count($tree); $i++) {
if($tree[$i]['id'] == $_SESSION['id'])
$active = "active";
else
$active = "";
$level = $tree[$i]['level'] + 1;
if(isset($open[$level]))
$html .= $open[$level].">";
$html .= "<li>";
$html .= "<a href=\"" . $GLOBALS['url'][$tree[$i]['id']] . "\">" . $tree[$i]['menu_name'] . "</a>";
if ($tree[$i]['level'] == $tree[$i+1]['level'] OR $tree[$i]['level'] > $tree[$i+1]['level'])) {
$html .= "</li>\n";
}
if ($tree[$i]['level'] < $tree[$i+1]['level']) {
$html .= "\n<ul>\n";
} else if ($tree[$i]['level'] > $tree[$i+1]['level']) {
$diff = $tree[$i]['level'] - $tree[$i+1]['level'];
$html .= str_repeat("</ul></li>\n", $diff) . "\n";
}
//? wie kann ich den Tag schließen?
$active = "";
}
$html .= "</li></ul>\n";
return $html;
}
?>
Kommentar