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...
- 917 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
- 624 mal angeschaut
- 24.03.2011 10:31
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>
- 1 Kommentar(e)
Inline
Hey, eigentlich sollte das f:format.date besser inline style formuliert werden also :{f:format.date(... warum das auf Deiner Installation nicht funktioniert ist mir allerdings schleierhaft. Ebefalls frag ich mich warum PHP DateObject keine locales kann..