Zum Inhalt springen

Hauptmenüpunkte anzeigen

Erstellt am 9. Oktober 2008 · 8 Antworten · letzte Antwort am 10. Oktober 2008

Tags: Frage

Fallobst ·

Moin liebes Forum,

weiss nicht ob ich hier richtig bin, ob "Anfängerfrage" oder "Menüs" -> bei Bedarf einfach verschieben.

Bin blutender Anfänger, und stehe vor dem Problem, dass Hauptmenüpunkte nicht angezeigt werden.
Das ist die Menüstruktur:

Bild: hochladen.info/…/full.png

Das hab ich unter "Setup" im Template eingetragen:

temp.menu_1 = HMENU
temp.menu_1.1 = TMENU
temp.menu_1.1 {
	# normal
	NO.allWrap = <div class="menu1-no"> | </div>
	# aktueller menuepunkt
	ACT = 1
	ACT.allWrap = <div class="menu1-act"> | </div>
}

und das kommt dabei raus:

Bild: hochladen.info/…/full.png

In der Referenz zu HMENU steht: "1 entspricht der ersten Ebene". Aber genau die wird ausgelassen :rätsel:
Wie werden mir auch die Hauptmenüpunkte angezeigt?

Tausend Dank im Vorraus

Unbekannter Benutzer ·

1 entspricht der ersten Ebene DEINES Menüs. 1 entspricht nicht der ersten Ebene deines Seitenbaums.
Wenn du möchtest, dass die Hauptmenüpunkte ausgegeben werden, dann wirst du wohl mit entryLevel arbeiten müssen.

Außerdem schätze ich mal dass dein Root-Ts in der Seite Reiter 1 liegt... da wirds ja dann mit dem Vererben auf die anderen Menüpunkte eehr schwierig.

Eventuell solltest du dir eine andere Strucktur überlegen also etwa so:

Home
-- Reiter 1
---- Unterpunkt1 R1
---- Unterpunkt2 R1
---- Unterpunkt3 R1
---- usw
-- Reiter 2
-- Reiter 3
-- Reiter 4

In die Seite Home kommt dann dein Root-TS und aus der machst du dann einen Shortcut auf Reiter 1... Dann wird dein menü auch ohne entryLevel funktionieren

Fallobst ·

Bekomme nun hiermit die Hauptmenüpunkte extern angezeigt:

# Hautpmenue einbinden:
subparts.menu_top = HMENU
subparts.menu_top {
	special = directory
	special.value = 17
	1 = TMENU
	1.NO = 1
	1.NO.linkWrap = |<br>
}

Die HTML dazu sieht so aus:

<div id="ct1">
	<a href="#">Reiter 1</a>
</div>
<div id="ct2">
	<a href="#">Reiter 2</a>
</div>
<div id="ct3">
	<a href="#">Reiter 3</a>
</div>
<div id="ct4">
	<a href="#">Reiter 4</a>
</div>

Wie kombinier ich nun das ganze, damit die Links dynamisch eingefügt werden? Die divs haben fortlaufende id, ist das überhaupt möglich, das mit Typoscript zu lösen? :o

Gruss Fallobst

Fallobst ·
# Hautpmenue einbinden:
	subparts.menu_top = HMENU
	subparts.menu_top {
	special = directory
	special.value = 17
	1 = TMENU
	1.NO = 1
	1.NO.linkWrap = <div id="ct1"> |</div> || <div id="ct2"> |</div> || <div id="ct3"> |</div> || <div id="ct4"> |</div>
	}

....so langsam machts Spass 🙂

Jetzt hätte ich gerne nur noch eine Klitzigkeit: der jeweils aktuelle Hauptmenüpunkt soll angezeigt werden. Kann mir jemand einen Tip in die richtige Richtung geben?

Danke schonmal im Vorraus!

Unbekannter Benutzer ·

Mh... ok... Und wo lässt du dir dann die nächste Ebene ausgeben, oder gar nicht?

17 ist dann wohl die ID deiner Rootseite. Dasselbe hättest du dann auch per entryLevel machen können und wärst nachher beim eventuellen Anzeigen weiterer Ebenen flexibler.

Wenn du den aktuellen Menüpunkt hervorheben möchtest, dann kannst du dafür alle weiteren Menüzustände verwenden. Es gibt ja noch mehr als nur NO.

Ansonsten kannst du natürlich auch eine ID dynamisch vergeben lassen. Mal als Beispiel:

NO {
...
	dataWrap = <div id="ct{field:uid}">|</div>
...
}

Also kleiner Tip am Rande. Menüs sollte man mit einer Liste erstellen.

Fallobst ·

Sorry, hab missverständlich erklärt. So ist die Struktur:

Bild: hochladen.info/…/full.png

Über dem Menü ist immo noch händisch "SubMenü Reiter 1 :" eingetrage. Dort soll dynamisch der aktuelle Hauptmenüpunkt stehen.

Das mit entryLevel hatte ich versucht, ging aber nicht:

temp.menu_1 = HMENU
temp.menu_1.1 = TMENU
temp.menu_1.1 {
	entyLevel = 0
	# normal
	NO.allWrap = <div class="menu1-no"> | </div>
	# aktueller menuepunkt
	ACT = 1
	ACT.allWrap = <div class="menu1-act"> | </div>
}

Danke für den Tip mit der Liste, wird eingebaut. Ist ja alles nur dev. Danke für die hilfreichen Links und Tips hier!

Unbekannter Benutzer ·

Die Position von entryLevel ist ja auch falsch ;-) dann kanns nicht gehen...
Das gehört nicht in die Ebene des TMENU, sondern direkt ins HMENU.

Wie du den Titel des aktuellen Menüpunkt über deine Navi dynamisch bekommst, da gibt es wohl mittlerweile zig Fragen hier im Forum und verschiedene Lösungswege. Lösungswege sind mit einem Menü vom Typ rootline, oder mittels leveltitle. Da wird dir die Suche einiges auspucken.