Hi Leute,
ich brauch mal wieder hilfe bei einem Problem an dem ich solangsam verzweifel (google und Forensuche bringen mich auch nicht mehr weiter). #angry#
Also im Prinzip habe ich genau dieses Problem:
#74395
Nur ist die leere Komponente kein field das ich über stdWrap.if abfragen könnte.
Vielleicht kann man es doch mit if abfragen und ich bin blos zu blöd das will ich gar nicht ausschließen ;-)
Ich bin in Typoscript noch ein ziemlicher Anfänger...
tmp.navi = HMENU
tmp.navi {
entryLevel = 1
1 = TMENU
1 {
wrap = <nav id="subNav"><ul id="naviMain2">|</ul></nav>
NO = 1
NO.wrapItemAndSub = <li>|</li>
CUR = 1
CUR < .NO
CUR.wrapItemAndSub = <li class="current">|</li>
ACT < .CUR
}
}
lib.subnav = COA
lib.subnav{
10 = TEXT
10.value = <aside class="cols p25">
20 = TEXT
20 {
data = fullRootLine : 1, nav_title // fullRootLine : 1, title
required = 1
wrap = <span class="h3">|</span>
}
30 < tmp.navi
100 = TEXT
100.value = </aside>
}
wenn tmp.navi bzw lib.subnav.30 leer ist soll lib.subnav generell nicht angezeigt werden.
mein problem warum ich das ganze überhaupt aufgesplittet habe war das ich den Titel des Eltern Elements über der Navigation ausgeben muss (data = fullRootLine : 1, nav_title // fullRootLine : 1, title) und ich keinen Ansatz gefunden habe wie ich den da sonst rein kriege.
wenn das ein komplett falscher ansatz ist und es wahrscheinlich anders viel einfacher geht bin ich für alles offen!
vielen Dank im vorraus!
Hallo.
Glaube, ich würde etwas anders ansetzen:
tmp.navi bleibt leer, wenn kein Menüitem vorhanden ist. D.h. alles, was vor/hinter das Menü soll, kann davon abhängig gemacht werden. Das HMENU hat stdWrap-Eigenschaften, d.h. Du kannst dort das required reinhängen und via prepend/append/wrap die Inhalte aus jetzigem lib.subnav drumherumbauen.
Viele Grüße
Julian
Also wenn ich dich richtig verstehe, dann willst du über deinem Subnav den übergeordneten Menüpunkt ausgeben.
Ich hab das damals so gemacht...
temp.SUBMENU = COA
temp.SUBMENU {
stdWrap.required = 1
stdWrap.prepend = TEXT
stdWrap.prepend {
wrap = <span class="Navi_Titel">|</span>
data = leveltitle: 1|1
}
1 = HMENU
1 {
#special = directory
#special.value = 6
entryLevel = 1
1 = TMENU
1.wrap= <ul>|</ul>
1.noBlur = 1
1.NO = 1
1.NO.ATagTitle.field = title
1.NO.ATagParams = class="Navi"
1.NO.wrapItemAndSub = <li>|</li>
1.NO.linkWrap = » | |*| » | |*| » |
2 < .1
2.wrap = <ul>|</ul></li>
}
}
Danke für die Ansätze 🙂 hat mich wirklich weiter gebracht!
Hier einmal meine Lösung:
lib.subnav = HMENU
lib.subnav{
stdWrap.required = 1
stdWrap.prepend = TEXT
stdWrap.prepend{
data = fullRootLine : 1, nav_title // fullRootLine : 1, title
required = 1
wrap = <aside class="cols p25"><span class="h3">|</span>
}
stdWrap.append = TEXT
stdWrap.append.value = </aside>
entryLevel = 1
1 = TMENU
1 {
wrap = <nav id="subNav"><ul id="naviMain2">|</ul></nav>
NO = 1
NO{
allWrap.insertData=1
allWrap = <li class="menu{field:layout}">|
wrapItemAndSub = |</li>
}
CUR = 1
CUR < .NO
CUR.allWrap=<li class="current menu{field:layout}">|
ACT < .CUR
#IFSUB = 1
#IFSUB.wrapItemAndSub = <li class="parent">|</li>
CURIFSUB < .ACT
CURIFSUB.allWrap=<li class="parent menu{field:layout}">|
ACTIFSUB < .CURIFSUB
}
2 < .1
2.wrap = <ul>|</ul>
3 < .2
4 < .3
}