Webdesign Berlin
< Mit Powermail tt_news mit Kategorien erstellen

Mit TypoScript Datum komplex formatieren

27.03.2012

Angenommen, wir verwenden tt_news für Events mit Start- und Endzeitpunkt. Nun ergibt sich folgendes Problem:

Bei eintägigen Veranstaltungen, soll dass Datum nur einmal ausgegeben werden:

Von Samstag, 5. Mai 2012 09:00 Uhr bis 17:00 Uhr

Bei mehrtägigen Veranstaltungen soll das Enddatum natürlich eingetragen sein, jedoch soll bei noch nicht bekannten Uhrzeiten (als 0:00 Uhr eingetragen) die Uhrzeit weggelassen werden:

Von Montag, 5. Dezember 2011 bis Samstag, 28. Januar 2012

Das komplexe Datum lässt sich wie folgt als generischen Marker (###GENERIC_TERMIN###) für tt_news definieren, dafür ist ab tt_news Version 3.0 keine zusätzliche Extension mehr notwendig:

plugin.tt_news.genericmarkers {       
    termin = COA
    termin {
      wrap = <p>|</p>
      5 = TEXT
      5.value = Von 
      10 = TEXT
      10 {
        wrap = | 
        field = datetime
        strftime = %A, %e. %B %Y
        fieldRequired = datetime 
        # Wenn nicht genau 0 Uhr, wir müssen die Uhrzeit formatiert vergleichen,
        # denn das Datum kann gesetzt sein.
        if {
          value = 00:00
          equals.field = datetime
          equals.strftime = %H:%M 
          negate = 1
        }
      }
      20 = TEXT
      20 {
        wrap =  | Uhr 
        field = datetime
        strftime = %H:%M 
        fieldRequired = datetime 
      }
      23 = TEXT
      23 {
        value = bis 
        fieldRequired = tx_wbnewsevents_enddate 
      }
      25 = TEXT
      25 {
        wrap = | 
        field = tx_wbnewsevents_enddate
        strftime = %A, %e. %B %Y
        fieldRequired = tx_wbnewsevents_enddate 
        # wir vergleichen dass formatierte Datum,
        # da sich die Uhrzeiten unterscheiden können.
        if {
          value.field = datetime
          value.strftime = %A, %e. %B %Y
          equals.field = tx_wbnewsevents_enddate
          equals.strftime = %A, %e. %B %Y
          negate = 1
        }
      }
      30 = TEXT
      30 {
        wrap =  | Uhr 
        field = tx_wbnewsevents_enddate
        strftime = %H:%M 
        fieldRequired = tx_wbnewsevents_enddate 
        # Wenn nicht genau 0 Uhr
        if {
          value = 00:00
          equals.field = tx_wbnewsevents_enddate
          equals.strftime = %H:%M 
          negate = 1
        }
      }
  }
}

 

Gravatar: Emil
Hallo,

ich würde auch gerne tt_news für mehrtägige Events nutzen und bin dabei auf diesen Eintrag gestoßen. Ich frage mich jedoch wo Du überhaupt das Enddatum einträgst...
du scheinst eine weitere Etensions wbnewsevents zu nutzen, die ich aber nirgends finden konnte.
Wäre nett wenn Du mir sagen könntest wie es geht.
Am coolsten wäre es wenn es auch noch mit einem Minikalender kompatibel wäre, welcher mir die Events Monatsweise anzeigt.

Danke!

Emil

Kommentar hinzufügen

* - Pflichtfeld

*




*