Zum Inhalt springen

setlocale -> date probleme

Erstellt am 15. Mai 2003 · 12 Antworten · letzte Antwort am 21. März 2004

Tags: Frage

sisuk ·

HI Forum!

Zu allererst: Ja, ich habe die Suchen-Funktion be- und genutzt. Leider konnte sich mein Problem nicht völlig lösen.

Ich habe folgendermaßen ein dynamisches Datum erstellt:

temp.date = COA
temp.date {
10 = TEXT
10.data = date:l, de
d. F Y
10.wrap = <div class="date"> | </div>
}

Die Ausgabe im Frontend ist erfolgreich und lautet:

"Thursday, der 15. May 2003"

Nun hätte ich aber gerne die dynamischen Variablen des Textes in deutsch.

Nachdem alle Konfiguration über conf.locale_all= de_DE nicht half, habe ich habe die gesamte class.tslib_fe.php "zerpflückt". Zumindest den Teil über setlocale 😉

Ich habe anstatt der if Funktion einen festen

setlocale (LC_ALL, 'de_DE');

eingefügt.
Nur mein Datum ist immer noch in englisch. Kann das an meiner lokalen Testumgebung liegen? Die Seite liegt Probeweise auf einem Win-XP Rechner... mit Apache. Muss ich im Apache-Skript irgendetwas ändern?

Danke.

Shinji ·

Hallo !

Nimm unter Windows einmal "German" anstatt "de_DE"
Oder schreibe ins SETUP des Templates ganz ans Ende

page.config.language = de
page.config.locale_all = German[/code

Und benutze für den Wochentagnamen %A anstatt %l .

Gruß
  Shinji
sisuk ·

Hallo Shinji,

danke für den Tipp.
Leider bringt das bei meiner Konfiguration auch keine Besserung. Ich habe mich aber mittlerweile damit abgefunden... ist ja nur ein Testsystem. Sollte der Fehler auf dem später zum Einsatz kommenden Server weiterhin bestehen, werde ich noch mal die Community nerven.

Danke.

Gruß

Sisuk

sisuk ·

So, langsam habe ich meine Typo3-Installation aufgeräumt. Sie befindet sich nun auf einem Puretec-Root-Server.

Ein Problem konnte ich leider noch nicht lösen:

Das englische Datum ins Deutsche zu transferieren.

Ich erzeuge das Datum immer noch mit:

temp.date = COA
temp.date {
10 = TEXT
10.data = date:l, de
d. F Y
10.wrap = <div class="date"> | </div>
}

und das Frontend spuckt nur das englische Format aus.

page.config.language = de
page.config.locale_all = German

ist gesetzt, änder aber nix.
Alle anderen Angaben auf meiner Seite sind in deutsch.
Generiere ich das Datum falsch?

Wäre nett, wenn jemand mir seine Lösung für das generieren des Datum posten könnte.
Danke für eure Hilfe.

sisuk ·

Also, ich möchte ja noch mal nachfragen... hat denn wirklich keiner eine andere Art das Datum dynamisch anzugeben, bzw. meinen Fehler zu berichtigen?
Bei mir stimmt irgendwas nicht... Datum kommt wie oben erwähnt immer auf englisch.

Alle anderen Datumsangaben, z.B. in den News sind in deutsch.

danke für die Hilfe.

Sisuk

womic2000 ·

Ich verwende für das deutsche Datum eine eigene PHP-Datei mit folgenden Inhalt:

<?php
/* Zeitzone auf Mitteleuropäische Zeit umstellen
falls der Server nicht in DE steht. Sonst auskommentieren. */

//putenv( "TZ=MET");

$name_tag[0] = "Sonntag";
$name_tag[1] = "Montag";
$name_tag[2] = "Dienstag";
$name_tag[3] = "Mittwoch";
$name_tag[4] = "Donnerstag";
$name_tag[5] = "Freitag";
$name_tag[6] = "Samstag";

$name_monat[1] = "Januar";
$name_monat[2] = "Februar";
$name_monat[3] = "M&auml;rz";
$name_monat[4] = "April";
$name_monat[5] = "Mai";
$name_monat[6] = "Juni";
$name_monat[7] = "Juli";
$name_monat[8] = "August";
$name_monat[9] = "September";
$name_monat[10] = "Oktober";
$name_monat[11] = "November";
$name_monat[12] = "Dezember";

$num_tag = date( "w");
$num_monat = date( "m");

$test = substr($num_monat,0,1);
if ($test == "0") {
$num = substr($num_monat,1,1);
$num_monat = $num;
}
$jahr = date( "Y");
$tag = date( "d");
$wochentag = $name_tag[$num_tag];
$monat = $name_monat[$num_monat];

print "<table border=0 width=150><tr><td bgcolor=#FFCCCC>";
print "Heute ist $wochentag,<br>der $tag. $monat $jahr";
print "</td></tr></table>"
?>

Diese binde ich über das Template ein.
Vielleicht hilfts weiter 🙂

sisuk ·

Ja, das hört sich gut an, zumindest eine Lösung um dem Kram in typo aus dem Weg zu gehen.

LEider bekomme ich das einbinden nicht hin 🙁

Ich habe einen Suppart-Marker ###DATE###, den ich über temp.date ansteuer, bzw. ersetze.

Leider finde ich im Forum nur Möglichkeiten, PHP-Seiteninhalt über den Seitentyp Skript einzubinden.

Wie muss denn dann mein bisheriger COde
temp.date = COA
temp.date {
10 = TEXT
10.data = date:l, de
d. F Y
10.wrap = <div class="date"> | </div>
}

aussehen, um das PHP-Skript einzubinden?

Danke 🙂

womic2000 ·

Versuche folgendes:

marks.DATE = PHP_SCRIPT_EXT
marks.DATE.file = fileadmin/deutschdate.php (evtl. Pfad anpassen)

Das reicht glaube ich schon. Damit wird dein DATE-Marker mit dem deutschen Datum ersetzt.

Ecomo ·

Bei mir verweigert typo3 das hochladen der *.php datei. Ist das korrekt oder gibt es einen trick?

sisuk ·

Warum lädst Du die php-Datei nicht einfach per FTP in das Verzeichnis Deiner Wahl?

Generell: Upload aus typo3 > Filemount für das Verzeichnis muss für den Benutzer freigegeben sein, d.h. typo3 muss unter dem angemeldeten Benutzer das Recht haben, ein File in diesen Ordner uploaden zu dürfen.
Schaue doch einmal über die Suche nach "Ordnerfreigabe" oder "Upload" im Forum.

Ecomo ·

Ich habe sonst keine Probleme mit uploads, diesesmal meckert typo3 dass php-files nicht erlaubt wären.
Ich glaube das liegt am provider (typo3server) werde wohl mal den support bemühen müssen.
Oder hat noch jemand eine Idee?

manuz ·

hallo

alle die das problem mit dem deutschen Monatsnamen haben und deren Server auf freebsd läuft kann ich volgendes TS empfehlen:

config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE.ISO8859-1

mfg manuz