Storefront Timezone / Zeitzone

Wie kann ich die Zeitzone für die Storefront selber bestimmen?

PHP-Zeitzone ist Europe/Berlin aber Shopware überschreibt das in im Kernel auf UTC.

Warum??

In den Bestell-Mails wird jetzt die Zeit falsch angegeben.

Also entweder man nimmt die Zeitzone des Client oder die des Servers aber doch nicht Hardcode auf UTC?!

Jetzt überlege ich, wo ich die Zeitzone am besten überschreibe. Hat jemand eine Idee?

Gibt es nirgendwo die Möglichkeit die Systemzeit von Shopware einzustellen?

Schau mal, ob du damit weiter kommst (selbst noch nie gemacht).

1 „Gefällt mir“

Die Seite habe ich auch gefunden, da wird genau das gemacht, was Shopware macht (siehe oben) – die Systemzeit in der Kernel-Datei setzen.

Was ist denn das aller erste Event, was gedispatched wird? Dort kann ich ja die Zeitzone ändern und dann mal schauen ob es für die E-Mail Templates übernommen wird. Ansonsten bleibt mir nichts anderes übrig, als das in der Kernel-Datei hardcode zu überschreiben.

Da wäre ich vorsichtig. Nachher sind die created_at ggf. damit verknüpft und stimmen hinten und vorn nicht mehr, wenn du die Zeitzonen je nach Kontext unterschiedlich nutzt.

1 „Gefällt mir“

In der Bestellübersicht ist die Bestellung von 8 Uhr.
In der E-Mail steht 6 Uhr.

Warum nur?

Hey

Ich bin mir zwar nicht ganz sicher aber man konnte die Zeitzone doch im Backend unter dein Profil einstellen. Dann funzt das auch mit der Uhrzeit zumindest in der 6.5.1.1 bei uns

Gruß Logo

Die Zeitzonen in den Benutzerprofilen ist überall „Europe/Berlin“.
Die stimmt ja soweit auch überall, außer in den E-Mails. Dort ist es UTC.

Wie sieht denn die Variabel im E-Mail-Template aus, die bei dir die Zeit anzeigt?

{{ order.orderDateTime|format_datetime('medium', 'short', locale='de-DE') }}

@tom_prok

Hast du schonmal versucht die Timezone noch mit in der Variabel anzugeben: format_datetime - Documentation - Twig - The flexible, fast, and secure PHP template engine

1 „Gefällt mir“

Ja, kenne ich. Ich will jetzt aber nicht für 20+ E-Mail Templates den Parameter überall mit angeben müssen. Habe gehofft, das es irgendwo global geht.

@AlexGalax

Hallo Allex ich wollte fragen, ob du eine Lösung für das Problem gefunden hast? Wir haben nämlich aktuell die gleiche Thematik, dass wir Probleme bei der Erfassung von Bestellungen haben. Wir nutzen eine ERP Schnittstelle für die Belegbearbeitung, welche anhand von „CreatedAt“ die Belege erfasst und an unsere Warenwirtschaft sendet. Die ERP Schnittstelle setzt sich nach jedem Abruf einen TimeStamp und erfasst keine älteren Belege, aber weil alle Belege -1h sind, bekommen wir für eine Stunde keine Belege in unser System übermittelt.

Wenn du eine Lösung gefunden hast, würden wir uns über einen Tipp freuen, weil wir jetzt auch schon diverse Sachen ausprobiert haben.

Gruß
Patrick

Grundsätzlich ist die Timezone einfach GMT/UTC. Und damit werden dann auch alle Zeit-Stempel gesetzt. Der ERP Process sollte dann eher auch mit UTC Zeitstempeln umgehen.