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
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
Hab Deinen Rat befolgt, mit Shortcut von Root auf "Reiter 1", trotzdem werden die Hauptmenüpunkte nicht angezeigt.
Bild: hochladen.info/…/full.png
Bin voll ratlos .oO
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
# 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!
Ich dachte, dass Menü wird jetzt angezeigt!! Oder verstehe ich da was falsch??
Für Menüs find ich immer noch das hier mit am besten!
Daniel
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.
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!
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.