Hallo,
ich möchte gerne in Abhängigkeit des Wertes eines TEXT-Content-Elements unterschiedliche Bilder darstellen.
Hat das Element den Wert "green", möchte ich "green.gif" anzeigen, ansonsten "grey.gif".
Kann doch eigentlich nicht soo schwer sein, oder? Habe einfach arge Probleme, ein einfaches if/else zu konstruieren...
Vielen, vielen Dank für Eure Hinweise im Voraus!
Etwas Code:
page.10.marks.CONTENT {
template = FILE
template.file = fileadmin/templates/template.html
workOnSubpart = SCREEN
marks {
BESCHREIBUNGEN = TEXT
BESCHREIBUNGEN {
value=green
}
#if ? else?
STATUS_IMAGE = IMAGE
STATUS_IMAGE{
file=fileadmin/img/green.gif
}
/*oder...
STATUS_IMAGE{
file=fileadmin/img/grey.gif
}
*/
#nur wie?
}#marks
}#page
#angry#
Schaul mal hier in der TypoScrypt-Referenz:
http://tsref.de/
Kapitel 5.7 if:
ganz unten findest du die Erklärung und Beispiele.
ok - vielen dank für den Hinweis.
ich hatte nicht verstanden, dass sich das if auf die vorhergehende Definition bezieht. Die Lösung meines Problems sieht also in etwa so aus:
constants.test=green
#image abhängig von status anzeigen
marks.STATUS_IMAGE = COA
marks.STATUS_IMAGE{
10=IMAGE
10.file=fileadmin/img/green_dot.gif
10.if{
value < constants.test
equals=green
}
20=IMAGE
20.file=fileadmin/img/grey_dot.gif
20.if{
value < constants.test
equals=green
negate=1
}
}
Beste Grüße!
...das bringt mich allerdings direkt zu meiner nächsten Frage:
Ich habe eine Seite mit Standard-Content-Elementen, die ich im Backend erstellt habe. Diese sollen später von Redakteuren im Frontend editiert werden können. Soweit so gut.
Für die Ausgabe der Content-Elemente (normale Texte u. Header) benutze ich ein select:
marks.BESCHREIBUNGEN = CONTENT
marks.BESCHREIBUNGEN {
table = tt_content
select {
#Spalte "Normal"
where = colPos = 0
orderBy = sorting
languageField = sys_language_uid
}
}
Problem: in einem der Text-CEs (immer an gleicher Stelle) steht ein String, dessen Wert vorgibt, welche Grafik geladen werden soll.
In etwa so hier (siehe auch vorhergehender Beitrag):
#wie auf das recordset von select zugreifen??
10=IMAGE
10.file=fileadmin/img/green_dot.gif
10.if{
value < page.10.marks.CONTENT.marks.BESCHREIBUNGEN.value#... pfad??
equals=green
}
#...
Frage: wie kann ich auf diesen String zugreifen? Ich weiß ja nicht den Pfad, an den ein Inhalt von Typo generiert wird. Und wenn ich ein renderObj für die Ausgabe benutze, kann ich auch nicht die Inhalte per "Pfadangabe" referenzieren.
Abgesehen davon klappt dann das FE-Editing auch nicht mehr...
Vielen Dank für Eure Hilfe im Voraus!