habe die 2 Ebenen navi (Standard) und würde die gerne so verändern, dass die Child Ebene erst bei klick auf die parent Ebene herauskommt.
Der Code hier funktioniert, allerdings ohne aufklappen, ist gleich da:
- Code: Alles auswählen
<?php
// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];
/* START 1st level categories */
$navLeftCol .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
if ($lev1->isOnline(true)):
if ($lev1->getId() == $path1) {
$navLeftCol .= '<li id="cat_'.$lev1->getId().'" class="active"><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
if ($lev1->getId() != "1") {
$sitePath .= ' ›› <a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
}
$titlePath .= ' >> '.$lev1->getName();
}
// 1st level - no active link
else {
$navLeftCol .= '<li id="cat_'.$lev1->getId().'"><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
}
// 1st level had categories? -> go on
$lev1Size = sizeof($lev1->getChildren());
if ($lev1Size != "0"):
$navLeftCol .= '<ul class="nav2nd">';
// START 2nd level categories
foreach ($lev1->getChildren() as $lev2):
if ($lev2->isOnline()):
// 2nd level - active link
if ($lev2->getId() == $path2) {
$navLeftCol .= '<li class="active"><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
$sitePath .= ' ›› <a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
$titlePath .= ' >> '.$lev2->getName();
}
// 2nd level - no active link
else {
$navLeftCol .= '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
}
endif;
endforeach;
// END 2nd level categories
$navLeftCol .= '</ul>';
endif; // END by if ($lev1Size != "0"):
$navLeftCol .= '</li>';
endif; // END by if ($lev1->isOnline())
}
$navLeftCol .= '</ul>';
// END 1st level categories
if ($REX['CUR_CLANG'] == 0) $breadcrumb = 'Sie sind hier: <a href="/index.php?clang=0">Start</a> '.$sitePath;
else $breadcrumb = '<a href="/cms/index.php">Start</a> '.$sitePath;
if ($REX['CUR_CLANG'] == 1) $breadcrumb = '<a href="/index.php?clang=1">Start</a> '.$sitePath;
else $breadcrumb = '<a href="/cms/index.php">Start</a> '.$sitePath;
if ($REX['CUR_CLANG'] == 2) $breadcrumb = '<a href="/index.php?clang=2">Start</a> '.$sitePath;
else $breadcrumb = '<a href="/cms/index.php">Start</a> '.$sitePath;
?>
Die zweite Datei bei der das ausklappen funktionert, aber leider nicht mehr das einbauen in die Seite (das Menü wird oben über der Seite und in der Seite an richtiger Position dargestellt). Was ich aber nicht verstehe. Aber hier auch mal dieser Code:
- Code: Alles auswählen
<?php
// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];
/* START 1st level categories */
$navLeftCol .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
if ($lev1->isOnline(true)):
if ($lev1->getId() == $path1) {
$navLeftCol .= '<li class="active"><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
}
// 2nd level - no active link
else {
$navLeftCol .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
}
// 1st level had categories? -> go on
$lev1Size = sizeof($lev1->getChildren());
if ($lev1->getId() == $path1) {
if ($lev1Size != "0") {
$navLeftCol .= '<ul class="nav2nd">';
// START 2nd level categories
foreach ($lev1->getChildren() as $lev2):
if ($lev2->isOnline(true)) {
// 2nd level - active link
if ($lev2->getId() == $path2) {
$navLeftCol .= '<li class="active"><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
}
// 2nd level - no active link
else {
$navLeftCol .= '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
}
// 2nd level had categories? -> go on
$lev2Size = sizeof($lev2->getChildren());
if ($lev2->getId() == $path2) {
if ($lev2Size != "0") {
$navLeftCol .= '<ul class="nav3rd">';
// START 3rd level categories
foreach ($lev2->getChildren() as $lev3):
if ($lev3->isOnline(true)) {
// 3rd level - active link
if ($lev3->getId() == $path3) {
$navLeftCol .= '<li class="active"><a class="current" href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
}
// 3rd level - no active link
else {
$navLeftCol .= '<li><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
}
}
endforeach;
// END 3rd level categories
$navLeftCol .= '</ul>';
} // END by if ($lev2Size != "0"):
}
$navLeftCol .= '</li>';
}
endforeach;
// END 2nd level categories
$navLeftCol .= '</ul>';
} // END by if ($lev1Size != "0"):
}
$navLeftCol .= '</li>';
endif; // END by if ($lev1->isOnline())
}
$navLeftCol .= '</ul>';
// END 1st level categories
print $navLeftCol;
?>
Bin über jeden Rat dankbar.
Gruss Kid

