Bei mir ging es darum, zu prüfen, ob die 2. Ebene Kinder hat:balu hat geschrieben:Hallo Andreas,
[...]
Wenn Du pruefen willst, ob die erste Ebene auch "Kindelemente" hat, musst Du etwas anders vorgehen
[...]
Der Navibaum im Backend sieht so aus:
Menü
Hauptmenüpunkt 1
Hauptmenüpunkt 2
Menüunterpunkt 2.1
Menüunterpunkt 2.2
Menüunterpunkt 2.3
Menüunterpunkt 2.4
Hauptmenüpunkt 3
Hauptmenüpunkt 4
Die Hauptmenüpunkte werden separat ausgegeben.
Die Menüunterpunkte können im Prinzip mit folgendem Code in Hauptmenüpunkt 2 und den Menüunterpunkten ausgegeben werden mithilfe von $ae[2]:
Code: Alles auswählen
<?php
$ae = getActiveElements();
if (isset($ae[1])) {
printNavigation('', 0, 99, $ae[2], true, '');
}
?>
Sprich, ich wollte einen Code in allen Rubrik-Headern einsetzen und dieser sollte die Unternavigation samt Box darum automatisch erscheinen lassen, sobald dies angebracht ist.
Es geht nun also darum, zu ermitteln, ob ein Hauptmenüpunkt Unterpunkte besitzt und abhängig davon etwas auszugeben. Dazu habe ich Balus Code folgendermaßen abgeändert:
Code: Alles auswählen
<?php
$ae = getActiveElements();
if (isset($ae[1])) { // prüft, ob überhaupt im Navibaum eingehängt
// Ermitteln, ob es eine Unternavigation gibt
$n = getNavigation();
$childs = 0;
foreach ($n as $v) {
if ($v['id']!=$ae[2]) continue;
$childs = $v['childs'];
// echo $v['childs'] . ' '; // hier könnte man eine Kontrollausgabe der Anzahl Kindernavielemente machen
break;
}
}
if ($childs>0) { // Kinderelemente vorhanden?
echo '<div class="SubmenuBox">'; // Box ums Menü
printNavigation('', 0, 99, $ae[2], true, '');
echo '</div>'; // /Box ums Menü
}
?>