Hallo.
Also ich habe jetzt hier alles durchsucht und nichts dazu gefunden, ausser ein paar unbeantwortete Fragen.
Daher nochmal:
Jedem Content-Element kann man ja ein Datum zuweisen. Dieses wird dann über der Überschrift später angezeigt, allerdings im Format
dd/mm yyyy
Dieses Datum wird im Unix-Format in der tt_content gespeichert.
Und das Format dieses Datums (es ist kein News-Datum und auch nicht lastmodified !) möchte ich nun bitte anders angeben.
Wie stelle ich dies ein?
page.config.language = de
page.config.locale_all = German
config.locale_all = de_DE
config.language = de
hab eich bereits gesetzt, aber dies hat ja keine Auswirkungen auf die Formatierung des Datums.
Wäre glücklich über eine Antwort.
Danke im Vorraus!
Nun, dann will ich mal jemanden glücklich machen (meine gute Tat für heute...)
Den Lösungsweg schreibe ich auch gleich dazu, da sehr viele Fragen zur Konfiguration auf ähnliche Weise (auch selbst) gelöst werden können:
Im Typo3 Object Browser sieht man, dass die Formatierung der Header in tt_content aus dem Objekt lib.stdheader kopiert werden.
Untersucht man das Objekt lib.stdheader mit dem Object Browser, dann findet man die Formatierung des Datums unter dem Schlüssel:
lib.stdheader.5.date = d/m Y
Hier kann die Formatierung direkt geändert werden, die Anleitung zur Formatierung entnimmt man der date() Funktion von PHP: http://de.php.net/manual/en/function.date.php
Allerdings wird das Datum immer in englisch formatiert, also z.B. July statt Juli. Um auch andere Sprachen auszugeben muss man "strftime" an Stelle von "date" verweden. Sinnvollerweise stehen in der Doku zu stdWrap beide Eigenschaften direkt untereinander: https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Stdwrap.html
Die Formatierung findet man wieder bei der PHP Funktion strftime: http://de.php.net/manual/en/function.strftime.php
Um das Datum im Header in der jeweils gesetzten Sprache (locale_all) zu formatieren, sind im SETUP folgende zwei Zeilen Typoscript erforderlich:
lib.stdheader.5.date >
lib.stdheader.5.strftime = %e. %B %Y
Jochen Weiland
Hallo Herr Weiland,
Sie kennen mich vielleicht bereits 🙂
Da sich keiner bei Ihnen für Ihre gute Tat bedankt hat, möchte ich es an dieser Stelle tun. Denn mir hat es heute, zwei Jahre später, geholfen.
Gruß
Alexander
Besten Dank auch von meiner Seite...
Tipp:
Falls
page.config.locale_all = German
nicht funktioniert, sollte man (unter Debian)
page.config.locale_all = de_DE.UTF-8
benutzen.
Grüsse
Thomas
jweiland schrieb
Nun, dann will ich mal jemanden glücklich machen (meine gute Tat für heute...)
Den Lösungsweg schreibe ich auch gleich dazu, da sehr viele Fragen zur Konfiguration auf ähnliche Weise (auch selbst) gelöst werden können:
Im Typo3 Object Browser sieht man, dass die Formatierung der Header in tt_content aus dem Objekt lib.stdheader kopiert werden.
Untersucht man das Objekt lib.stdheader mit dem Object Browser, dann findet man die Formatierung des Datums unter dem Schlüssel:
lib.stdheader.5.date = d/m Y
Hier kann die Formatierung direkt geändert werden, die Anleitung zur Formatierung entnimmt man der date() Funktion von PHP: http://de.php.net/manual/en/function.date.php
Allerdings wird das Datum immer in englisch formatiert, also z.B. July statt Juli. Um auch andere Sprachen auszugeben muss man "strftime" an Stelle von "date" verweden. Sinnvollerweise stehen in der Doku zu stdWrap beide Eigenschaften direkt untereinander: https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Stdwrap.html
Die Formatierung findet man wieder bei der PHP Funktion strftime: http://de.php.net/manual/en/function.strftime.php
Um das Datum im Header in der jeweils gesetzten Sprache (locale_all) zu formatieren, sind im SETUP folgende zwei Zeilen Typoscript erforderlich:
lib.stdheader.5.date >
lib.stdheader.5.strftime = %e. %B %Y
Jochen Weiland
Ich stehe momentan vor dem selben Problem. Wenn ich
lib.stdheader.5.date = d/m Y
verwende, wird aus jedem Datum immer der 1. Jänner 1970.
Wenn ich keine Formatierung definiere, wird das Datum mit dd/mm/yy ausgegeben.
Wenn ich
lib.stdheader.5.date > lib.stdheader.5.strftime = %H:%M, %e. %b %Y
angebe, bleibt das Datumsformat immer noch dd/mm/yy.
Wenn ich nur
lib.stdheader.5.strftime = %H:%M, %e. %b %Y
angebe, wird das Datum korrekt formatiert, allerdings immer auf englisch, egal wie ich die Sprachkonfiguration einstelle. Momentan weiß ich da nicht mehr weiter.
Spikx schrieb
Wenn ich
lib.stdheader.5.date > lib.stdheader.5.strftime = %H:%M, %e. %b %Y
angebe, bleibt das Datumsformat immer noch dd/mm/yy.
Das muss ja auch in zwei Zeilen:
lib.stdheader.5.date >
lib.stdheader.5.strftime = %H:%M, %e. %b %Y
Wenn es noch auf englisch erscheint, dann ist wahrscheinlich config.locale_all = de_DE nicht gestzt, oder?
Hm, ok, wozu wird der Aufruf
lib.stdheader.5.date >
überhaupt gemacht?
Das mit der Sprache funktioniert allerdings immer noch nicht, trotz
config.locale_all = de_DE.UTF-8
page.config.locale_all = de_DE.UTF-8
Auch mit
page.config.locale_all = German
bleibt es englisch.
Hallo,
es kann auch sein, daß die Locales auf dem Server noch nicht richtig konfiguriert sind... bei meinem Debian Server findet man z.B. in etc die locale.gen. Da kann man mit einem Texteditor sehen, was aktiv ist und was nicht. "dpkg-reconfigure locales" ausgeführt als root lässt dich dann nach Belieben aktivieren und deaktivieren. Das war jedenfalls bei mir das Problem und seit ich in den locales meines Servers "de_DE.UTF-8 UTF-8" aktiviert habe klappt es auch wieder ganz normal mit
page.config.locale_all = de_DE.UTF-8
ohne das stdheader-Gedöns.
Achtung, bei Benutzung von
config.doctype = html5
muss ein anderer Teil des stdheaders verändert werden:
lib.stdheader.40.10.strftime = %e. %B %Y
Die Zeile
lib.stdheader.5.date >
erscheint nach aktuellem Stand (Typo3 6.2) unnötig.