Hallo Leute,
ich benötige als Typo3 Neuling etwas hilfe.
Anbei optischer Aufbau des Projekts.
Die Topleiste hat ein funktinierenden Mega-Menu (aktuell Stufe 1 bis 6 Submenus).
Zusätzlich möchte ich eine funktionierende Seitennavigation die mir ggf. weitere Stufen ab einer bestimmen Seite ermöglicht(beispiel bei Stufe 4 vom Mega-Menu mit Stufen 1 bis 4 im Seitenmenü).
Mein Typoscript-Code der Mainnavigation sieht wie folgt aus:
lib.mainnav = COA
lib.mainnav {
wrap = <nav><ul id="main-menu" class="topmenu">|</ul></nav>
20 = COA
20 {
10 = HMENU
10 {
entryLevel = 0
1 = TMENU
1{
expAll = 1
NO = 1
NO {
wrapItemAndSub = <li>|</li>
}
ACT = 1
ACT {
wrapItemAndSub = <li class="active">|</li>
}
}
2 = TMENU
2 < .1
2.wrap = <ul>|</ul>
3 = TMENU
3 < .2
4 = TMENU
4 < .3
5 = TMENU
5 < .4
6 = TMENU
6 < .5
}
}
}
leider habe ich es nicht hinbekommen und verzweifle etwas.
Über Sitemap kann ich zwar ab einen bestimmten Punkt die Unterseiten darstellen, aber es nimmt nicht das Layoutdaten mit!? Das sieht nicht wirklich schön aus!
Bitte um Hilfe!
Gruß
Wildi

Hallo zusammen,
bin etwas weitergekommen, der TypoScript sieht nun so aus.
lib.mainnav = COA
lib.mainnav {
wrap = <nav><ul id="main-menu" class="topmenu">|</ul></nav>
20 = COA
20 {
10 = HMENU
10 {
entryLevel = 0
1 = TMENU
1{
expAll = 1
NO = 1
NO {
wrapItemAndSub = <li>|</li>
}
ACT = 1
ACT {
wrapItemAndSub = <li class="active">|</li>
}
}
2 = TMENU
2 < .1
2.wrap = <ul>|</ul>
3 = TMENU
3 < .2
4 = TMENU
4 < .3
5 = TMENU
5 < .4
6 = TMENU
6 < .5
}
}
}
lib.subnav = COA
lib.subnav {
wrap = <nav><ul id="sidebar" class="sidebar">|</ul></nav>
20 = COA
20 {
10 = HMENU
10 {
entryLevel = 2
1 = TMENU
1{
expAll = 1
NO = 1
NO {
wrapItemAndSub = <li>|</li>
}
ACT = 1
ACT {
wrapItemAndSub = <li class="active">|</li>
}
}
2 = TMENU
2 < .1
2.wrap = <ul>|</ul>
3 = TMENU
3 < .2
4 = TMENU
4 < .3
5 = TMENU
5 < .4
6 = TMENU
6 < .5
}
}
}
das funktioniert auch recht gut, aber was mache ich wenn ich unterschiedliche "entryLevel" haben sollte.
Bitte weiterhin um Unterstützung.
Gruß
Wildi
PS an lee123: habe den Tip nicht verstanden, bitte um Erklärung. Danke.
Stichwort: CONDITIONS
( siehe: https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Conditions/Index.html )
lib.subnav {
...snip...
}
# bspw. wenn der TreeLevel > 5 ist dann erstelle das Submenü erst ab Level 3
[treeLevel > 5]
lib.subnav.20.10.entryLevel = 3
[global]
Du kannst es auch per PIDinRootline machen statt mit treeLevel und dann per special = directory und special.value = id der Startseite des Submenüs.
ACHTUNG:
Conditions dürfen nicht innerhalb von { } stehen !!! aber innerhalb einer Condition dürfen { } enthalten sein.
Hallo,
der treeLevel funktioniert gleich wie der entryLevel (Zeile 59). besteht den keine Möglichkeit, unterschiedliche entryLevels für das Submenü zu erstellen?
Gruß
Wildi
Ich denke wir reden aneinander vorbei...
Der Level (egal ob entry oder tree) bezeichnet die Ebene im Seitenbaum.
Für das Menü bedeutet das, dass das Menü ab diesem Level begonnen wird.
Für die Condition bedeutet das: "Wenn die Aussage zutrifft mache Folgendes..."
Dein Beispiel: "bei Stufe 4 vom Mega-Menu mit Stufen 1 bis 4 im Seitenmenü" ist evtl. etwas unverständlich. Ich lese daraus, dass Du im Hauptmenü (Dein Mega-Menü) eine Unterseite auswählst, und im Sub-Menü dann die Oberpunkte bis zur gewählten Seite angezeigt haben möchtest.
Dazu ist evtl. ein "Rootline" ( auch "Klickpfad" oder "Breadcrumb" ) Menü sinnvoller, und das Untermenü der aktuellen Seite (wenn vorhanden) kannst Du dann mit einem normalen tMenü anhängen.
Hallo Wool und andere Helfer,
vielen Dank vorab, dass du die Geduld hast und mich unterstützt.
Zum Vorhaben:
Mein Hauptmenu soll bis 5 Levels haben. sobald mit der Maus drüber gefahren wird, werden auch die einzelnen Submenüpunkte angezeigt. Siehe hierzu Vergleich http://www.smartmenus.org/ oder Hauptmenübeispiel.jpeg.
Bei bestimmten Unterseiten die ich dann über das Haptmenü erreicht habe, will ich eine zusätzliche Seitennavigation ansprechen (Seitenmenübeispiel.jpeg) die mir weitere Unterlevels (levelanzahl erstmal nicht begrenzt) zur Verfügung stellt. Der entryLevel kann und soll aber auch unterschiedlich sein.
Beispiele
1. Auswahl aus irgendeinem Hauptmenüpunkt Level 2 öffnet Seitennavigation mit weiteren 5 Levels (Beispiel für Seite Projects = Level 2 aus "About" = Level 0 und Unterpunkt "The Company" = Level 1)
2. Auswahl aus irgendeinem Hauptmenüpunkt Level 1 öffnet Seitennavigation mit weiteren 8 Levels (Beispiel für Seite Themes aus "About" Level 0 )
3. Auswahl aus irgendeinem Hauptmenüpunkt Level 5 öffnet keine Seitennavigation da keine Seitennavigation benötigt
4. Auswahl aus irgendeinem Hauptmenüpunkt Level 4 öffnet Seitennavigation mit weiteren 4 Levels
Das Problem an dieser Sache ist, dass ich unterschiedliche Eintrittslevel für die Seitennavigation habe.
Hoffe ich konnte mein Problem etwas besser schildern.
Für Fragen stehe ich zur Verfügung.
Vielen, vielen Dank.
Wildi


Sorry, aber entweder ich blicke immer noch nicht durch was Du vor hast, oder Du hast mit entryLevel den falschen Ansatz gewählt.
Deine letzte Erklärung deute ich so, dass Du im Sub-Menü die Unterseiten der im Hauptmenü gewählten Seiten ausgeben willst.
Dann nimm das "entryLevel = 2" aus deinem Code für das Sub-Menü raus und ersetze es durch "special":
...
20 {
10 = HMENU
10 {
#entryLevel = 2
special = directory
1 = TMENU
1 {
expAll = 1
wrap = <ul>|</ul>
NO = 1
NO.wrapItemAndSub = <li>|</li>
ACT < .NO
ACT.wrapItemAndSub = <li class="active">|</li>
CUR < .ACT
}
2 < .1
3 < .2
4 < .3
5 < .4
6 < .5
7 < .6
8 < .7
# hier erweitern bis zur max. Leveltiefe deiner Seite !!!
}
}
...
(habe den Menü-Code mal etwas gekürzt)