Zum Inhalt springen

Seitenmenü - GPvar:id (eine Ebene höher beginnen)

Erstellt am 9. August 2012 · 2 Antworten · letzte Antwort am 10. August 2012

Tags: Frage

Tim3 ·

Hallo zusammen,

jetzt hab ich noch eine kurze Frage zu einem meiner Menüs, ich hoffe mir kann hier jemand helfen!

Ich habe mir in einem zweispaltigen Layout, rechts ein Menü erstellt, das die Unterseiten der aktiven Seite (also auf der man sich gerade befindet) anzeigt.

Hier ist der Code dazu

lib.navright = HMENU
lib.navright {
  
  special = directory
  special.value = GPvar:id
  
  wrap = <ul>|</ul>
 
  1 = TMENU
  1 {
    expAll = 1
    noBlur = 1
 
    NO = 1
    NO {
      ATagTitle.field = title //  abstract // description
      allWrap = <li id="{field:alias}">|</li>
      allWrap.stdWrap.insertData = 1
      stdWrap.htmlSpecialChars = 1
    }
 
    CUR = 1
    CUR {
      allWrap = <li id="{field:alias}"><strong>|</strong></li>
      allWrap.stdWrap.insertData = 1
      doNotLinkIt = 1
      stdWrap.htmlSpecialChars = 1
    }
  }
 
  2 < .1  

}

Hier ist der Aufbau schematisch dargestellt
Home
Unternehmen
-Geschäftsführung
-Adresse
Aktuelles
-Blog
-Messetermine
Impressum

Klickt man im Hauptmenü also auf "Unternehmen", wird im Menü auf der rechten Seite "Geschäftsführung und Adresse" angezeigt.

Klickt man auf "Aktuelles" wiederum "Blog und Messetermine".

Möglich ist das Ganze ja durch "GPvar:id" im TypoScript-Code.

Zu meinem Problem
Steht man jetzt beispielsweise auf der Unterseite "Geschäftsführung", wird im Menü auf der rechten Seite natürlich nichts angezeigt (klar, es gibt ja auch keine Unterseiten!). Ich würde jetzt gerne an diese Stelle das Menü einblenden, das in der darüberliegende Seite (wie oben beschrieben) angezeigt wurde, also "Geschäftsführung und Adresse".

Kann man "GPvar:id" sagen, dass der eine Ebene höher anfangen soll?

Ich würde das Template auch neu einbinden via TemplaVoila und den Bereich dann z.B. "lib.navright2" statt "lib.navright" nennen. Ich könnte ja dann in meinem TypoScript-Template den Code kopieren, die Variable ändern plus den Zusatz "+1" (also eine Ebene höher).

Ich hoffe ihr habt verstanden, wo mein Problem ist und könnt mir helfen! 😉

Gruß Tim

Unbekannter Benutzer ·

Was du willst sollte etwa so aussehen:

lib.navright = HMENU
lib.navright {
 
  entryLevel = 2
 
  wrap = <ul>|</ul>
 
  1 = TMENU
  1 {
    expAll = 1
    noBlur = 1
 
    NO = 1
    NO {
      ATagTitle.field = title //  abstract // description
      allWrap = <li id="{field:alias}">|</li>
      allWrap.stdWrap.insertData = 1
      stdWrap.htmlSpecialChars = 1
    }
 
    CUR = 1
    CUR {
      allWrap = <li id="{field:alias}"><strong>|</strong></li>
      allWrap.stdWrap.insertData = 1
      doNotLinkIt = 1
      stdWrap.htmlSpecialChars = 1
    }
  }
 
  2 < .1  
 
}

Sollte Dein Menü die falsche Ebene anzeigen, dann einfach entsprechend das entryLevel höher oder niedriger wählen. Zwei müsste aber eingentlich passen.

Tim3 ·

Wahnsinn! Perfekt!! Vielen vielen Dank!

Ich muss zugeben, dass ich den Wald vor lauter Bäumen nicht mehr gesehen habe.
"entryLevel" ist natürlich soo logisch!