Zum Inhalt springen

Untermenü außerhalb des eigenlichen Menüs

Erstellt am 28. August 2007 · 9 Antworten · letzte Antwort am 3. September 2007

Tags: Frage

homunkulus ·

Hallo,

meine Seitenstruktur (4 Ebenen)ist folgende:
Seite 1
Seite 1.1
Seite 1.1.1
Seite 1.1.1.1
Seite 1.1.2
Seite 1.1.2.1
Seite 1.1.3
Seite 1.1.3.1

mein Menü (3 Ebenen) sieht so aus:
Seite 1
Seite 1.1
Seite 1.1.1
Seite 1.1.2
Seite 1.1.3

Auf den Seiten der dritten Ebene (1.1.1, 1.1.2, 1.1.3) erscheint dann der Link zur 4. Ebene (1.1.1.1, 1.1.2.1, 1.1.3.1) an einer anderen Stelle, klappt hiermit ganz gut:

temp.zusatzseite_html = HMENU
temp.zusatzseite_html.entryLevel = 3
temp.zusatzseite_html.1 = TMENU
temp.zusatzseite_html.1 {
   wrap = 
   NO {
      ATagBeforeWrap = 0
      allWrap = <h3>|</h3>
   }
}

Nun möchte ich aber, das auf der Seite der 4. Ebene dieser Link (auf sich selbst) nicht mehr erscheint und ich möchte kein neues Template anlegen.

Das aller schönste wäre, wenn auf der Seite der 4. Ebene an ursprünglicher Stelle ein Link mit "zurück" oder auf Ebene 3 erscheint.

Weiß nicht so richtig, wie ich das hinbekommen kann, da dies meine Kentnisse ein wenig übersteigt.

Wäre um Hilfe sehr dankbar.

brokemeister ·

Es gibt verschiedene TMENUITEMS... Schau mal hier auf der Seite in der Referenz...
Und dann schau dir noch mal zustätzlich die HOWTOS für Menüs an...

homunkulus ·

Hallo brokemeister,

mir würde es schon weiter helfen, wenn ich eine Abfrage erstellen könnte, welche mir als Ergebnis die derzeitige Seietenbaum-Ebene ausspuckt.

Bei TMENUITEM versuch ich mich grad im Forum durchzuwuseln, aber Dank erstma.

homunkulus ·

so, ich habs erstmal hinbekommen. nur ist es für dynamische seiten sehr schwer nachvollziehbar (da es für jede einzelne neu "geschrieben" werden muß), aber es funzt erstma. o.O

[PIDinRootline=107] # Seite der 4. Ebene, in der nur die eine (!) übergeordnete erscheinen soll
temp.zusatzseite_html = HMENU
temp.zusatzseite_html {
   entryLevel = 2
   excludeUidList= 28,31,38,56 # hier müssen jeweils die anderen seiten der 3. ebene rausgeschmissen werden
   1 = TMENU
   1 {
      NO {
         ATagTitle.field = abstract // description // title
         ATagBeforeWrap = 0
         allWrap = <h3>|</h3>
      }
   }
}
[else]
temp.zusatzseite_html = HMENU
temp.zusatzseite_html {
   entryLevel = 3
   1 = TMENU
   1 {
      NO {
         ATagTitle.field = abstract // description // title
         ATagBeforeWrap = 0
         allWrap = <h3>|</h3>
      }
   }
}
[end]

Wer bessere Einfälle hat, möge sich bitte melden.

treeLevel könnte noch eine passende Variante vorräig haben. - ich werds probieren und posten :o

homunkulus ·

hallo brokemeister,

jetzt verstehe ich nur bahnhof #angry# . könntest du es mir bitte an meinem ts-code demonstrieren, was du meinst?!.

brokemeister ·

Hier das Beispiel aus dem HowTo.
Ein Menü mit 3 Ebenen...

     temp.menu = HMENU
     temp.menu {
              1 = TMENU
              1 {
                      #expAll =1
                      wrap = <ul id="nav1">|</ul>
                      noBlur = 1
                      NO = 1
                      NO {
                              wrapItemAndSub = <li>|</li>
                              stdWrap.htmlSpecialChars = 1
                              ATagTitle.field = title
                      }
                      ACT <.NO
                      ACT {
                              wrapItemAndSub = <li id="nav1act">|</li>
                      }
              }
              2 < .1
              2 {
                      wrap = <ul id="nav2">|</ul>
                      ACT.wrapItemAndSub = <li id="nav2act">|</li>
              }
              3 < .2
              3 {
                      wrap = <ul id="nav3">|</ul>
                      ACT.wrapItemAndSub = <li id="nav3act">|</li>
              }
      }

Entsprechend kann man jedes Menü erzeugen. Wenn du dir dann noch mal die Referenz dazu anschaust...

homunkulus ·

Hallo brokemeister,

danke für das menü, soweit bin ich ja auch schon.

nur ist damit mein problem nicht gelöst, daß ich in der 4. ebene nicht das komplette menü der dritten ebene haben möchte, sondern nur die eine (1!) übergeordnete seite (habs ja über excludeUidList bewerkstelligt). Da ich jedoch ungefähr 20 solcher seiten habe, macht sich das sehr umständlich.

ob treelevel funzt weiß ich nicht, konnte es noch nicht probieren.

hab vielleicht meine anfrage nicht so deutlich formuliert.

brokemeister ·

Das ist aus deinem BSp nicht hervorgegangen.

Vielleicht kannst du das mit dem Split-Menü Bsp machen.

Es gibt auch noch neben NO & ACT diverse andere Varianten mit welchen man auch so einiges anstellen kann...

Oder die Condtions PIDupInRootline oder treeLevel können vielleicht auch helfen...

homunkulus ·

hallo brokemeister,

ich habs geschafft 8-)
25€ in ein Buch investiert 😢 , um die Funktion special.items.prevnextToSection herauszubekommen, 2 Stunden probiert und das Ergebnis lässt sich sehen.

temp.zusatzseite_html = HMENU
temp.zusatzseite_html.entryLevel = 3
temp.zusatzseite_html.1 = TMENU
temp.zusatzseite_html.1 {
	wrap = | #allg. Rahmen
	NO {
		ATagBeforeWrap = 0
		allWrap = |
	}
	ACT {
		ATagBeforeWrap = 0
		allWrap = |
	}
	ACT = 1
}

[treeLevel = 4]
temp.zusatzseite_html = HMENU
temp.zusatzseite_html {
   entryLevel = 4
   1 = TMENU
   1.wrap = | #allg. Rahmen
   1.NO = 1
   special = browse
   special {
      items = up
      items.prevnextToSection = 1
      index.fields.title = INDEX
   }
}
[end]

treeLevel in Verbindung mit browse hilft mir, um zur Elternseite zurückzukommen. Und die Elternseite zeigt nur die Kindseite an.