---
title: "Conditions mit Konstanten"
url: "https://www.typo3.net/d/107945-conditions-mit-konstanten"
source: "typo3.net"
tags: ["TYPO3","TypoScript","Frage","tt_news"]
created: "2011-10-26"
last_reply: "2011-10-28"
replies: 5
solved: false
page: 1
pages: 1
lang: "de"
---

# Conditions mit Konstanten

TYPO3 › TypoScript · 5 Antworten · gestartet 2011-10-26

## Eröffnungsbeitrag

**aliakschi** · 2011-10-26 · [Beitrag #1](https://www.typo3.net/d/107945-conditions-mit-konstanten/1)

Hallo,

schon zweiten Tag versuche ich einen **Content-Element ab 2 Wochen vor einem Datum (Feld datetime) in tt_news-Nachricht eindeblen und nach dem Datum ausgeblenden**.

Gestern versuchte ich die Parameter [starttime und endtime mittels Typoscript beeinflussen](https://www.typo3.net/d/107932-starttime-und-endtime-per-typoscript-aendern/3). Leider geht es nicht.

Jetzt versuche ich den anderen Weg:

```typoscript
#wieviele Tage bleiben bis zum Datum
temp.days = COA_INT
temp.days {
    5 = RECORDS
    5 {
      source.data = GPvar:tx_ttnews|tt_news
      tables = tt_news
      conf.tt_news = TEXT
      conf.tt_news.field = datetime
    }
    10 = TEXT
    10 {
      data = date : U
      wrap = -|
    }
    stdWrap.prioriCalc = 1
    stdWrap.strftime = %d
  }

#den Wert days in die Konstante speichern /funktioniert nicht/

const_days < temp.days

#der Text wird 14 Tagen vor dem Datum eingeschaltet und nach dem Datum abgeschaltet  /condition funktioniert auch nicht/

seite.20 = TEXT
[globalVar = LIT:0<{$const_rec_num} || globalVar = LIT:14>{$const_rec_num}]
#wenn die Bedingung wahr ist
seite.20.value = Die Variable ist größer als Null!
[else]
#wenn die Bedingung falsch ist
seite.20.value >
[global]
```

Vielleicht könnte mir jemanden sagen, wo liegt der Hase im Pfeffer #paralyzed#

## Antworten

### [#2](https://www.typo3.net/d/107945-conditions-mit-konstanten/2) · Julian.​Hofmann · 2011-10-27

Hallo.

Dein Problem klingt interessant. :-)
Um auszuschließen, dass Du Dir selber unnötige Probleme machst: Was Hast Du denn eigentlich vor? Vielleicht lässt sich die Anforderung auch einfachr lösen.

Ansonsten sollte der Ansatz mit der Berechnung schon sehr viel versprechend.
Aus TS-Setup heraus kannst Du keine Konstanten für TS setzen.
Eine Lösung dürfte bringen, wenn Du über ein *if* arbeitest. In etwa:

```typoscript
temp.deinText = TEXT
temp.deinText.value = Dein Text!
temp.deinText.if.value.data = date : U
temp.deinText.if.isLessThan < temp.days
```

Viele Grüße
Julian

Nebenbei: "GPvar" ist deprecated und in 4.6 rausgeflogen. Stattdessen soll seit einer Weile "GP" verwendet werden.

### [#3](https://www.typo3.net/d/107945-conditions-mit-konstanten/3) · aliakschi · 2011-10-27

Vielen Dank für die Antwort und Interesse.

Ich frage mich selber, ob das Problem leichter gelöst könnte.

Deshalb nochmal zu der Quelle.

Auf einer Seite sind 2 Elementen:
- tt_news:Single
- powermail.

Die Aufgabe: Powermail-Formular 2 Wochen vor dem Datum des derzeitigen tt_news-Events anschalten und nach dem Datum abschalten.

Mein Plan war: der Abstand (in Tagen z.B.) zu dem tt_news-Eventdatum berechnen (Abschnitt temp.days) und in einer Condition verwenden. Mein Problem ist, ich weiß nicht, wie und an welchen Conditiontyp kann ich das berechnete Wert übergeben.

Die Idee mit dem cObject als Speicher hatte ich auch, nur kann schwer realisieren, bzw. weiß ich nicht, wie man das in einer Condition verwendet.

Ich werde sehr dankbar für Hilfe :)

### [#4](https://www.typo3.net/d/107945-conditions-mit-konstanten/4) · Julian.​Hofmann · 2011-10-27

Ok, spontan fällt mir auch kein einfacherer Weg ein für diese Anforderung...

Mit Conditions kommst Du hier vermutlich nicht weiter, da Conditions ausgewertet werden, bevor TS geparst wird. D.h. sie werden ausgewertet, bevor Deine Berechnung stattfindet.

Dann sollte der Ansatz über if aber die richtige Richtung sein. Statt des TEXT-Objektes vielleicht eher ein COA oder CONTENT, um gezielt das Inhaltselement mit Powermail einzubinden.

```typoscript
temp.deinText = COA
temp.deinText.10 = CONTENT
# hier jetzt die genaueren Angaben,w elche UID usw...
temp.deinText.if.value.data = date : U
temp.deinText.if.isLessThan < temp.days
```

Viele Grüße
Julian

### [#5](https://www.typo3.net/d/107945-conditions-mit-konstanten/5) · aliakschi · 2011-10-28

Danke :) Deine Idee habe ich so umgesetz:

```typoscript
temp.pmFormWrap = COA_INT
temp.pmFormWrap {
  10 = TEXT
  10 {
    value = .... //Hier steht das, was ab 15 Tagen vom Event erscheinen soll.
    if.negate = 1
    if.value.data = date : U
    if.isLessThan.cObject = COA
    if.isLessThan.cObject {
      5 = RECORDS
      5 {
        source.data = GP:tx_ttnews|tt_news
        tables = tt_news
        conf.tt_news = TEXT
        conf.tt_news.field = datetime
      }
      10 = TEXT
      10 {
        value = 1296000
        wrap = -|
      }
      stdWrap.prioriCalc = 1
      stdWrap.intval = 1
    }
  }
  20 < .10
  20.value = ... //Hier steht das, was früher als 15 Tagen vom Event erscheinen soll.
  20.if.negate = 0
}
 
page.10.marks.###MARKER_NAME### < temp.pmFormWrap
```

### [#6](https://www.typo3.net/d/107945-conditions-mit-konstanten/6) · Julian.​Hofmann · 2011-10-28

Wenn Du wirklich Inhalte für beide Fälle hast, dann könntest Du den Normalfall via *override* überschreiben, falls der Spezialfall greift. Dann müsste die Berechnung im *if* nur einmal stattfinden, statt wie im Moment zweimal (einmal normal, einmal negiert).

---

Quelle: „Conditions mit Konstanten“, typo3.net, https://www.typo3.net/d/107945-conditions-mit-konstanten
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
