« 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...
918 mal angeschaut
03.02.2011 15:38
TYPO3 Backend Layouts
675 mal angeschaut
27.04.2011 23:57
TYPO3 4.5 und kb_nescefe und Security Token
658 mal angeschaut
18.03.2011 17:43
JQuery und IE9
625 mal angeschaut
24.03.2011 10:31

Zur Zeit wird gefiltert nach: extbase
Filter zurücksetzen

28.11.2011
12:30

Extbase, AJAX und sys_language_mode = strict

Aufgabenstellung

Datensätze sollen in einem JQGrid angezeigt werden. Es sollen jedoch nur die lokalisierten Datensätze dargestellt werden. Standardmäßig werden die Datensätze der Standardsprache angezeigt, wenn keine Übersetzung in der ausgewählten Sprache vorliegt.

sys_language_mode = strict

Im TYPOScript für die XML Ausgabe den sys_language_mode setzten:

tx_toco3whatever_ajax = PAGE
tx_toco3whatever_ajax {
 typeNum = 6001
  config {
    disableAllHeaderCode = 1
    disablePrefixComment = 1
    additionalHeaders = Content-type: text/xml
    xhtml_cleaning = 0
    admPanel = 0
    sys_language_mode = strict
  }

 

  10 = COA_INT
  10.10 < tt_content.list.20.toco3whatever_ajax
}

 

Zurück

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