...da war ich wohl heute Nachmittag in meiner Euphorie mit der Verkündung der Lösung ein wenig vorschnell. Ich hatte nämlich noch nicht ganze verstanden, wie das Menü erzeugt wird und die Rekursion, die da wohl im Spiel ist, nicht berücksichtigt. Ich musste bei meiner jetzigen Lösung auf eine globale Variable zurückgreifen und der Reset dieser Variablen macht mir die Updatesicherheit futsch:
Die Lösung sieht nun wie folgt aus
In der Datei ModuleMootoolsNav.php bitte nach
PHP-Code:
if ($this->defineRoot && $this->rootPage > 0)
{
$trail = array($this->rootPage);
$level = 0;
}
die Zeile
PHP-Code:
$GLOBALS['act_request_in_menu'] = false;
einfügen.
In der Datei mod_mootoolsnav.tpl den Anfang von
PHP-Code:
<?php if (!isset($GLOBALS['activemenuaccord'])) $GLOBALS['activemenuaccord']=-1;
?>
in
PHP-Code:
<?php if (!isset($GLOBALS['activemenuaccord'])) $GLOBALS['activemenuaccord']=-1;
if($GLOBALS['act_request_in_menu'] == false)$GLOBALS['activemenuaccord']=-1;
?>
abändern.
Abschließend in der Datei nav_moomenu.tpl den Anfang ändern:
PHP-Code:
<?php
$togglerlevel = 'level_1';
$menulevel = 'level_2';
$request = ampersand($this->Environment->request, ENCODE_AMPERSANDS);
?>
Ganz zum Schluss noch in der selben Datei nach der Zeile
PHP-Code:
<?php foreach($this->items as $item): ?>
folgenden Codeabschnitt einfügen:
PHP-Code:
<?php
if(strpos($request, $item['href']) !== false && $item['href'] !== '/'){
$GLOBALS['act_request_in_menu'] = true;
}
?>
Das sollte es nun aber wirklich gewesen sein. Bei mir funktioniert jetz wirklich alles tadellos. Vielleicht hat der Andreas eine bessere Lösung parat und liefert sie mit dem nächsten update mit, wär toll...
Lesezeichen