[TYPO3-german] Ab Menüebene 1 nur d. Pfad d. aktuell besuchten Seiten im Menü einblenden

Alex Kohlmeyer emahl at gmx.de
Tue Jun 26 00:54:36 CEST 2007


Hallo,

meine Seitenstruktur:
__________________________________________________________

-> Startseite .............................(Level 0)
        '
        '-> Seite 1 .......................(Level 1)
        '-> Seite 2
        '-> Seite 3
               '
               '-> Seite 3.1 ..............(Level 2)
               '-> Seite 3.2
                       '
                       '-> Seite 3.2.1 ....(Level 3)
___________________________________________________________


Meine Seitennavigation (hier ein "TMENU", das als Subnavigation dient) soll genauso wie die Subnavigation der folgenden Internet-Seite funktionieren:
http://www.kreis-warendorf.de
(Der folgende Absatz beschreibt mein Problem noch einmal ausführlich)

Befinde ich mich auf der "Startseite"(also "Level 0"), sollen alle Seiten von "Level 1 & 2" angezeigt werden (damit der Besucher auf der Startseite einen groben Überblick bekommt).
Nun will ich, daß sobald ich mich auf einer Seite von "Level 1" befinde (bzw. auf einer ihrer Unterseiten), in der Subnavigation alle nicht aktuell in der Rootline liegenden Seiten ab "Level 1" aus der Navigation verschwinden und nur die Seiten (beginnend ab "Level 1") angezeigt werden, die in der Rootline zur aktuellen Seite liegen. Das ließe sich über die Menüzustände "ACT" und "CUR" noch bewerkstelligen. Allerdings soll abschließend zur aktuell gewählten Seite (Menüzustand "CUR") noch deren Unterseiten angezeigt werden (damit der Besucher weiß, wie es weiter geht). Und genau da liegt der Knackpunkt. Für diese "Vorschau-Seiten" hätte ich statt dem "NO"-Zustand lieber den "USERDEF1"-Zustand definiert, weil mein jetziger Code (der mittlerweile total verwurschtelt ist) ab "Level 1" die NO's ausblendet, um dieses Ziel zu erreichen. Dabei aber leider auch (verursacht durch das Kopieren der Ebeneneigenschaften) die "Vorschau-Seiten" der aktuellen Seite (CUR) ausblendet, die eben leider auch vom Typ "NO" sind.

Ich glaube, daß die Definition des "USERDEF1"-Zustandes die vermeintlich beste Lösung ist (ich will auch keine Lösung mit "excludeUidList"!), lasse mich aber gerne eines Besseren belehren.

Ein Beispiel-Code, wie ich diesen Zustand den "Vorschau-Seiten" in einem PHP-Skript zuweise, wäre toll, da ich mittlerweile völlig am Ende bin.

Vielleicht hilft dabei dieser Code, den ich in einem Forums(?)beitrag gefunden habe (ersetzt fehlendes "CURIFSUB", war wohl mal ein TYPO3-Bug):
.............................
<?php
class user_itemArrayProcFunc {

    function curifsub($menuArr,$conf)    {
        // Enable the USERDEF1 menustate as a replacement for the missing CURIFSUB menustate.
        // Usage: In your TMENU/GMENU object insert this line:
        //        itemArrayProcFunc = user_itemArrayProcFunc->curifsub
        while(list($k,$v)=each($menuArr))    {
            if ($conf["parentObj"]->isItemState("IFSUB",$k) && $conf["parentObj"]->isItemState("CUR",$k))
                $menuArr[$k]["ITEM_STATE"]="USERDEF1";
        }
        return $menuArr;
    }
}
?>
.............................


Zum Schluß lediglich noch zwei Anschauungsbeispiele zum erwünschten Verhalten des Submenüs:

1.Bsp:
======
Ich befinde mich auf der "Startseite" (Level 0). Das Menü sieht so aus:
__________________________________________________________

Seite 1
Seite 2
Seite 3
   '
   '-> Seite 3.1
   '-> Seite 3.2
___________________________________________________________
(hier bekommt der Besucher der Website also einen groben Üerblick ber alle Seiten)


2.Bsp:
======
Ich befinde mich auf "Seite 3.2" (Level 2). Das Menü sieht so aus:
__________________________________________________________

Seite 3
   '
   '-> Seite 3.2  //***aktuelle Seite***//
           '
           '-> Seite 3.2.1
___________________________________________________________



Viele Grüße!

Alex
-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer


More information about the TYPO3-german mailing list