ich komme da einfach nicht weiter: kann mir jemand sagen, wie ich die 3. Ebene bei aktiver 4. Ebene ausblenden kann? Jetzt zeigt die Navigation bei klick auf die 3. Ebene die 4. Ebene an, aber aus platzgründen möchte ich die Ebene weglassen.
Kann mir da jemand weiterhelfen? Bin für jeden Tipp dankbar!
Ich verwende folgende Navigation:
- 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];
$path4 = $PATH[4];
/* START 1st level categories */
$nav1 .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
if ($lev1->isOnline(true)):
if ($lev1->getId() == $path1) {
$nav1 .= '<li id="link'.$lev1->getId().'"class="active"><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
}
// 2nd level - no active link
else {
$nav1 .= '<li id="link'.$lev1->getId().'"><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
}
// 1st level had categories? -> go on
$lev1Size = sizeof($lev1->getChildren(true));
if ($lev1->getId() == $path1) {
if ($lev1Size != "0") {
$nav2 .= '<ul class="nav2nd">';
// START 2nd level categories
foreach ($lev1->getChildren(true) as $lev2):
if ($lev2->isOnline(true)) {
// 2nd level - active link
if ($lev2->getId() == $path2) {
$nav2 .= '<li class="active"><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
}
// 2nd level - no active link
else {
$nav2 .= '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
}
// 2nd level had categories? -> go on
$lev2Size = sizeof($lev2->getChildren(true));
if ($lev2->getId() == $path2) {
if ($lev2Size != "0") {
$nav2.= '<ul class="nav3rd">';
// START 3rd level categories
foreach ($lev2->getChildren(true) as $lev3):
if ($lev3->isOnline(true)) {
// 3rd level - active link
if ($lev3->getId() == $path3) {
$nav2 .= '<li class="active"><a class="current" href="'.$lev3->getUrl().'">'.$lev3->getName().'</a>';
}
// 3rd level - no active link
else {
$nav2 .= '<li><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a>';
}
// 3rd level had categories? -> go on
$lev3Size = sizeof($lev2->getChildren(true));
if ($lev3->getId() == $path3) {
if ($lev3Size != "0") {
$nav2.= '<ul class="nav4th">';
// START 4th level categories
foreach ($lev3->getChildren(true) as $lev4):
if ($lev3->isOnline(true)) {
// 4th level - active link
if ($lev4->getId() == $path4) {
$nav2 .= '<li class="active"><a class="current" href="'.$lev4->getUrl().'">'.$lev4->getName().'</a></li>';
}
// 4th level - no active link
else {
$nav2 .= '<li><a href="'.$lev4->getUrl().'">'.$lev4->getName().'</a></li>';
}
}
endforeach;
//End 4th level categories
$nav2 .= '</ul>';
} //End by if ($lev3Size != "0"):
}
$nav2 .= '</li>';
}
endforeach;
// END 3rd level categories
$nav2 .= '</ul>';
} // END by if ($lev2Size != "0"):
}
$nav2 .= '</li>';
}
endforeach;
// END 2nd level categories
$nav2 .= '</ul>';
} // END by if ($lev1Size != "0"):
}
$nav1 .= '</li>';
endif; // END by if ($lev1->isOnline())
}
$nav1 .= '</ul>';
// END 1st level categories

