Zum Inhalt springen

Style im Menü abhängig von PID?

Erstellt am 4. Mai 2011 · 1 Antwort · letzte Antwort am 9. Mai 2011

Tags: Frage

fhoeg ·

Hallo Leute,

ich bin blutiger Anfänger mit Typo 3 und will zum üben mal meine eigene Seite hineinbauen. Bisher sieht die folgendermaßen aus: http://www.fhoeg.de (noch normal ohne cms).
Mein Problem liegt bei den farbigen Buttons. Die Farben haben je nach Thema einen gewissen Sinn . Ich bin schon so weit, dass die Buttons auch genauso geladen werden NUR nicht bunt. So sieht der entscheidende Teil jetzt aus:

temp.projects = HMENU
temp.projects.1 = TMENU
temp.projects.entryLevel = 0
temp.projects.begin = 4
temp.projects.1.NO.allWrap = <li class="green"> | </li>
temp.projects.1.NO.allWrap = <li class="blue"> | </li>
temp.projects.1.NO.allWrap = <li class="orange"> | </li>

Um diese letzten 3 Listenelemente muss jetzt irgendeine Art von Bedingung, die quasi je nach Ziel-PID eine bestimmtes HG-image lädt...
Ich habs mit Conditions so hier versucht:

[globalVar = TSFE:id = 22, id = 24, etc.]

Aber das geht nicht, weil er ja wahrscheinlich nur die aktuelle PID der Startseite abfragt und ich brauch ja die Ziel-PID. Sozusagen. Ich könnte mir das mit einem if-Konstrukt vorstellen aber ich habe keine Idee wie ich da anfangen soll. Hat jemand einen Vorschlag?

Mr.​TRTD ·

Beschäftige dich mit TCEFORM.tt_content.section_frame !
Leg dir in den Seiteneigenschaften entprechende section_frames an und frage diese mit einer CASE Anweisung ab.

...
temp.projects.1.NO.stdWrap.prepend = COA
temp.projects.1.NO.stdWrap.prepend{
10 = CASE
10{
key.field = section_frame
default = TEXT
default.value = <li>
1 = TEXT
1.value =  = <li class="green">
2 = TEXT
2.value =  = <li class="red">
# etc...
}
}
temp.projects.1.NO.stdWrap.append = TEXT
temp.projects.1.NO.stdWrap.append.value = </li>


...

Das ist zwar nicht die optimalste Variante, aber in Kürze am Besten beschrieben.

Eigentlich muesstest du den Link komplett alleine rendern mit

temp.projects.1.NO.renderObj = COA
# baue mir den ursprünglichen Link nach

Alternativ kannst du dir optionSplit angucken. Das hilft dir aber nicht für direkte ID Abfragen.
Diese sollte man aber auch möglichst wenig einsetzen.