Hallo,
ich schließe mich mal dem Dank von Brans an und kann das nur bestätigen. Der Dank gilt natürlich allen Redaxo-Entwicklern und Helfern
Zur Navigation, ich habe festgestellt, dass bei vorhandenen offline-geschalteten Kategorien im Quelltext ein <ul></ul> erzeugt wird, so dass der Validator meckert. Daher habe ich nach einigen Tests die Zeilen
verschoben - scheint zu funktionieren.
Die entsprechenden Zeilen sind mit
//*****Zeile <ul... auskommentiert und verschoben
//*****Zeile <ul... nach Prüfung der Kategorie online-true wieder eingefügt
kommentiert.
Vielleicht hilft es ja weiter.
LG
André
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 */
$nav .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
if ($lev1->isOnline(true)):
if ($lev1->getId() == $path1) {
$nav .= '<li class="active"><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
}
// 2nd level - no active link
else {
$nav .= '<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") {
//*****Zeile <ul... auskommentiert und verschoben
//$nav .= '<ul class="nav2nd">';
// START 2nd level categories
foreach ($lev1->getChildren() as $lev2):
if ($lev2->isOnline(true)) {
//*****Zeile <ul... nach Prüfung der Kategorie online-true wieder eingefügt
$nav .= '<ul class="nav2nd">';
// 2nd level - active link
if ($lev2->getId() == $path2) {
$nav .= '<li class="active"><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
}
// 2nd level - no active link
else {
$nav .= '<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") {
//*****Zeile <ul... auskommentiert und verschoben
//$nav .= '<ul class="nav3rd">';
// START 3rd level categories
foreach ($lev2->getChildren() as $lev3):
if ($lev3->isOnline(true)) {
//*****Zeile <ul... nach Prüfung der Kategorie online-true wieder eingefügt
$nav .= '<ul class="nav3rd">';
// 3rd level - active link
if ($lev3->getId() == $path3) {
$nav .= '<li class="active"><a class="current" href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
}
// 3rd level - no active link
else {
$nav .= '<li><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
}
}
endforeach;
// END 3rd level categories
//*****</ul> wenn die 2. Ebene Online ist - if ... und }
if ($lev3->isOnline(true)) {
$nav .= '</ul>';
}
} // END by if ($lev2Size != "0"): && ($lev3->isOnline(true))
}
$nav .= '</li>';
}
endforeach;
// END 2nd level categories
//*****</ul> wenn die 2. Ebene Online ist - if ... und }
if ($lev2->isOnline(true)) {
$nav .= '</ul>';
}
} // END by if ($lev1Size != "0"): && ($lev2->isOnline(true))
}
$nav .= '</li>';
endif; // END by if ($lev1->isOnline())
}
$nav .= '</ul>';
// END 1st level categories
// print $nav;
?>