Zum Inhalt springen

if.isTrue.field zieht nicht

Erstellt am 14. März 2019 · 1 Antwort · letzte Antwort am 14. März 2019

Tags: Kalender & Termine, TYPO3 8, Frage

tommboogie ·

Hallo zusammen,

ich habe folgendes TypoScript, innerhalb eines Calendar Base Event-Blocks:

location = TEXT
location {
current = 1
setCurrent.stdWrap.cObject = CONTENT
setCurrent.stdWrap.cObject {
if.isTrue.field = country
table = static_countries
select {
pidInList = 0
selectFields = cn_iso_2
where {
data = field:country
wrap = uid = |
intval = 1
}
}
renderObj = COA
renderObj {
10 = TEXT
10.field = cn_iso_2
}
}
dataWrap = |
}

Das TypoScript macht für jedes Event ein Select auf die Tabelle static_countries und rendert für den Marker "location" das cn_iso_2 Feld aus einer im Event angelegten Location.

Das funktioniert auch wunderbar, solange eine Location angelegt ist, denn dann steht im filed:country die uid des static_countries Datensatzes.

Jetzt kommt mein Problem:

Ist keine Location mit dem Event verknüpft, dann fehlt das field:country im Event-Datensatz und damit die uid und die SQL-Query ist fehlerhaft.

Mein Lösungsansatz ist die Anweisung if.isTrue.field = country, welche das Select unterbinden soll, wenn das field:country im Event-Datensatz fehlt.
Nur bewirkt diese nichts, das Select wird trotzdem durchgeführt und es knallt.

Hat jemand eine Idee, wie es funktionieren könnte?

Vielen Dank & Grüße,
TJ

tommboogie ·

Hallo zusammen,

mein Problem hat sich erledigt - es funktioniert wie beschrieben.

Ich habe übersehen, dass ich einen weiteren Code-Block in der Datei habe, welcher ebenfalls eine Abfrage auf static_countries macht und in diesem hat die Anweisung if.isTrue.field = country gefehlt.

Grüße,
TJ