Hallo, ich benutze das Feld media aus der pages Tabelle um dynamische Hintergrundbilder für ein div zu erzeugen.
page.10.marks.CONTENT_STYLE = TEXT
page.10.marks.CONTENT_STYLE.value = style="background-image: url(/uploads/media/{page:media});"
page.10.marks.CONTENT_STYLE.insertData = 1
Das funktioniert schon sehr gut. Wie könnte ich denn ansetzen, wenn ich jetzt noch eine Bedingung einbauen möchte? Die TYPO-Script Referenz für IF hilft mir leider überhaupt nicht weiter. Das Ganze soll dann do aussehen:
PSEUDOCODE:
wenn istWert(pages.media) {
marker = style="background-image: url(/uploads/media/{page:media});"
}
sonst {
marker =
}
Moin,
mehr als eine Ansatz habe ich grade nicht parat, aber vielleicht's hilft es ja:
Das:
temp.maintemplate= COA
temp.maintemplate {
# 10 wird nur eingebunden, wenn das if-Statement „wahr“ zurückgibt
10 = COA
10 {
# das select von oben kommt hier als Kopie aus css_styled_content
if.isTrue.numRows < styles.content.getRight
10 = TEMPLATE
10 {
template = FILE
template.file = fileadmin/templates/template-2column.html
}
}
# 20 wird nur eingebunden, wenn das if-Statement „falsch“ zurückgibt
20 = COA
20 {
if.isFalse.numRows < styles.content.getRight
10 = TEMPLATE
10 {
template = FILE
template.file = fileadmin/templates/template.html
}
}
}
ist aus
http://typo3.org/documentation/document-library/extension-manuals/ts45min_de/0.5.1/view/1/7/
unterhalb von numRows.
Dort wird, wenn in der Spalte Rechts etwas drinnsteht, dann nimm eine andere HTML Vorlage. Das habe ich auch mal eingesetzt KLappte prima. Dies entspricht deinem Problem.
Die Zeile:
if.isTrue.numRows < styles.content.getRight
müste durch
if.isTrue.numRows < media
ersetzt werden. Aber wie weiß ich jetzt nicht genau.
Hoffe der Ansatz hilft :-)
Gruß
Tevsa
Hallo Tevsa,
vielen Dank für Deine Hilfe, der Ansatz hat mich auf den richtigen Weg gebracht. Ich konnte das Problem jetzt folgendermaßen lösen:
page.10.marks.CONTENT_STYLE = COA
page.10.marks.CONTENT_STYLE {
if.isTrue.field = media
10 = TEXT
10 {
value = style="background-image: url({$myDomain}uploads/media/{page:media});"
insertData = 1
}
}
Es scheint alles so zu funktionieren, wie ich es wollte. Diese Syntax ist für einen C-Programmierer echt nicht einleuchtend.
Gruß, bbb