« Mai 2012»
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Kategorien

Blogrolls

Letzte Kommentare

Inline
04.02.2011 13:09

Archiv

Kopieren Sie diesen Link in Ihren RSS-Reader

RSS 0.91Nachrichten
RSS 2.0Nachrichten

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

03.02.2011
15:38

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>

 

Zurück