« Februar 2011»
    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          

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...
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
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>

 

  •  
  • 1 Kommentar(e)
  •  
Nikolas Hagelstein
04.02.2011
13:09
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..

Mein Kommentar

Benachrichtige mich, wenn jemand einen Kommentar zu dieser Nachricht schreibt.

Zurück