[Frage] if.isTrue.field zieht nicht TYPO3-Version: 8.7.20

  • tommboogie tommboogi...
    Padawan
    0 x
    38 Beiträge
    0 Hilfreiche Beiträge
    14. 03. 2019, 09:33

    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


  • 1
  • tommboogie tommboogi...
    Padawan
    0 x
    38 Beiträge
    0 Hilfreiche Beiträge
    14. 03. 2019, 09:54

    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

  • 1