Themen
Letzte Nachrichten
- TYPO3 und Bilder bei Facebook Links
- 12.05.2012 18:35
- Google Analytics und die Datenschutzaufsicht
- 07.05.2012 13:19
- "Nervige" Title-Tags bei Links in TYPO3
- 26.02.2012 10:58
- TYPO3 Install Tool und session.auto-start is enabled
- 20.02.2012 21:28
Kategorien
- Commerce (7)
- Design (4)
- Technology (18)
Blogrolls
Letzte Kommentare
- Inline
- 04.02.2011 13:09
Meist gelesene Posts
- Wochentag lokalisiert mit Fluid aus einem DateTime Objekt...
- 916 mal angeschaut
- 03.02.2011 15:38
- TYPO3 Backend Layouts
- 674 mal angeschaut
- 27.04.2011 23:57
- TYPO3 4.5 und kb_nescefe und Security Token
- 657 mal angeschaut
- 18.03.2011 17:43
- JQuery und IE9
- 622 mal angeschaut
- 24.03.2011 10:31
Zur Zeit wird gefiltert nach: translate
Filter zurücksetzen
Wochentag lokalisiert mit Fluid aus einem DateTime Objekt ausgeben
Das Problem
Was sich erstmal gar nicht so kompliziert anhört erweist sich dann alles andere als trivial.
Für eine Auflistung von Terminen ist gefordert, das nicht nur das Datum des jeweiligen Termins in der Liste erscheint, sondern auch der Wochentag. In PHP gibt es natürlich Funktionen, um den Wochentag als Name aus einer Timestamp zu extrahieren und dabei auch die Lokalisierung zu beachten.
Mit Extbase und Fluid schaut das auch erstmal gar nicht so schwierig aus, denn es gibt ja einen View Helper f:format.date der ein DateTime-Objekt formatiert ausgibt. Der Syntax der Formatierung ist wie bei der PHP Funktion date() und diese ermöglicht mit "l" (kleines L) den Wochentag auszugeben. Leider berücksichtigt der Viewhelper aber nicht die Lokalisierung, d.h. in diesem Fall tauchen auf der deutschsprachigen Webseite englischsprachige Wochentage auf - nicht schön.
Die Lösung
Der der freundlichen und kompetenten Hilfe von Nikolas Hagelstein haben wir folgende Lösung gefunden:
<f:translate key="wd.<f:format.date format=\"N\" date=\"{dateItem.calendardate}\" />"/>
Somit wird der Wochentag in eine Zahl konvertiert und dann mittels Lokalisierung "übersetzt":
<label index="wd.1">Montag</label>
<label index="wd.2">Dienstag</label>
<label index="wd.3">Mittwoch</label>
<label index="wd.4">Donnerstag</label>
<label index="wd.5">Freitag</label>
<label index="wd.6">Samstag</label>
<label index="wd.7">Sonntag</label>