an dieser Stelle möchte ich sagen, dass ich mir bewusst bin, dass es zu diesem Thema schon sehr viele Beiträge und auch im Download Verzechnis schon sehr viele Navigationen mit mehr als 2 Ebenen gibt.
Also wie Ihr aus meinem Titel entnehmen könnt möchte ich meine Standart Redaxo 4.1 Navigation (Horizontal - Vertical) um eine 3. Ebene (Vertical)
erweitern.
Ich weiss, ich könnte mir eine solche Navigation auch herunterladen, aber ich würde es gerne selber machen, zumal ich die Navigation schon meinen Wünschen entsprechend angepasst habe (soweit meine Kentnisse dies zulassen) und vorallem um etwas zu lernen und Redaxo näher zu kommen.
Ich habe schon versucht die Navigation um eine 3. Ebene zu erweitern:
Code: Alles auswählen
<?php
// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
// GET CURRENTS
$path1 = (isset ($PATH[1])) ? $PATH[1] : '';
$path2 = (isset ($PATH[2])) ? $PATH[2] : '';
$path3 = (isset ($PATH[3])) ? $PATH[3] : '';
$sitePath = '';
$titlePath = '';
$navLeftCol = '';
/* START 1st level categories */
$navHeader .= '<ul id="menu">';
$navLeftCol .= '<div>';
foreach (OOCategory::getRootCategories() as $lev1) {
if ($lev1->isOnline()):
if ($lev1->getId() == $path1) {
$navHeader .= '<li id="current"><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
if ($lev1->getId() != "1") {
$sitePath .= ' ›› <a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
}
$titlePath .= ' >> '.$lev1->getName();
}
// 2nd level - no active link
else {
$navHeader .= '<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 id="navigation">';
//$navLeftCol .= '<li>'.$lev1->getName();
$navLeftCol .= '';
// START 2nd level categories
foreach ($lev1->getChildren() as $lev2):
if ($lev2->isOnline()):
// 2nd level - active link
if ($lev2->getId() == $path2) {
$navLeftCol .= '<li id="current"><a 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
// START 3rd level categories
foreach ($lev2->getChildren() as $lev3):
if ($lev3->isOnline()):
// 2nd level - active link
if ($lev3->getId() == $path3) {
$navLeftCol .= '<li id="current"><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
$sitePath .= ' ›› <a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a>';
$titlePath .= ' >> '.$lev3->getName();
}
// 2nd level - no active link
else {
$navLeftCol .= '<li><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
}
endif;
endforeach;
// END 3nd level categories
$navLeftCol .= '</ul>';
$navLeftCol .= '</li></ul>';
endif; // END by if ($lev1Size != "0"):
}
$navHeader .= '</li>';
endif; // END by if ($lev1->isOnline())
}
$navHeader .= '</ul>';
$navLeftCol .= '</div>';
// END 1st level categories
if ($REX['CUR_CLANG'] == 1) $breadcrumb = 'You are here: <a href="index.php?clang=1">Startpage</a> '.$sitePath;
else $breadcrumb = 'Sie befinden sich hier: <a href="index.php">Startseite</a> '.$sitePath;
?>
Gruß Kim