Opened 8 years ago
Last modified 8 years ago
#1294 new Bug/Fehler
Inkonsistenzen bei Bestellungen mit englischer Sprache
| Reported by: | Torsten Riemer | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Shop | Version: | 2.0.3.0 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description (last modified by )
Siehe dazu bitte folgenden Beitrag: modified eCommerce Shopsoftware 2.0.3.0 rev 10907 veröffentlicht
Das Problem mit dem Datums-Format konnte ich im Dev Demoshop nachstellen!
Zusätzlich ist mir noch folgendes aufgefallen:
- Wird eine Bestellung in englischer Sprache durchgeführt, dann ist der Artikel-Name auch auf englisch. Ich denke, dass es Sinn macht hier immer die Sprache des Admins zu wählen, der die Bestellung bearbeitet.
- Die Kundengruppe wird auf englisch angezeigt, beispielsweise "News Customer".
- In der "Bestellhistorie" der Bestellbearbeitung ist der Status auch auf englisch, obwohl er in der Bestellübersicht auf deutsch ist.
- Zusätzlich sind auch unten bei Änderung des Bestellstatus alle Bestellstatus in englisch.
Viertes lässt sich einfach lösen, indem man in der orders.php ab Zeile 199 den Code:
$orders_status_query = xtc_db_query("SELECT orders_status_id,
orders_status_name
FROM ".TABLE_ORDERS_STATUS."
WHERE language_id = '".$lang."'
ORDER BY sort_order");
while ($orders_status = xtc_db_fetch_array($orders_status_query)) {
$orders_statuses[] = array ('id' => $orders_status['orders_status_id'], 'text' => $orders_status['orders_status_name']);
$orders_status_array[$orders_status['orders_status_id']] = $orders_status['orders_status_name'];
}
ändert in:
$orders_status_query = xtc_db_query("SELECT orders_status_id,
orders_status_name
FROM ".TABLE_ORDERS_STATUS."
WHERE language_id = '".$_SESSION['languages_id']."'
ORDER BY sort_order");
while ($orders_status = xtc_db_fetch_array($orders_status_query)) {
$orders_statuses[] = array ('id' => $orders_status['orders_status_id'], 'text' => $orders_status['orders_status_name']);
$orders_status_array[$orders_status['orders_status_id']] = $orders_status['orders_status_name'];
}
Wir sollten hier mal generell schauen, wo wir noch $lang für den Admin verwenden und die Stellen überprüfen, ob dort nicht $_SESSIONlanguages_id mehr Sinn macht.
Nachtrag: Hier ist das selbe Problem für das Frontend mit der account_history_info beschrieben: account_history_info Sprache teilweise falsch
Attachments (0)
Change History (8)
comment:1 by , 8 years ago
| Description: | modified (diff) |
|---|
comment:2 by , 8 years ago
| Description: | modified (diff) |
|---|
comment:3 by , 8 years ago
comment:4 by , 8 years ago
Das sehe ich anders. Ist eine Bestellung in englischer Sprache durchgeführt worden, dann reicht es, wenn der Admin hier bei "Sprache" "englisch" angezeigt bekommt. Alles andere sollte in der Sprache des Admins ausgegeben werden.
Natürlich müssen für die Bestellbestätigungen sowie die Auftragsbestätigungen und Statusänderungen die Sprache des Kunden berücksichtigt werden und entsprechende E-Mails versendet werden.
comment:5 by , 8 years ago
Dann schau Dir mal die orders Tabellen an, hier sind die Texte in der Bestellsprache gespeichert.
Die Texte kann man sich auch nicht aus den anderen Tabellen in der Adminsprache holen, denn die Artikel könnten bereits gelöscht sein oder der Text wurde bereits abgeändert (Nachfolgeartikel usw.). Oder der Artikel wurde in der Sprache gar nicht angelegt.
Die Texte bei der Bestellung geben das aus was bei der Bestellung gültig war.
comment:7 by , 8 years ago
| Component: | Admin → Shop |
|---|---|
| Description: | modified (diff) |
comment:8 by , 8 years ago
| Milestone: | modified-shop-2.0.4.0 |
|---|

Die Datumsfunktionen sind in den Sprachdateien implementiert. Bei Statusänderungen ist das tatsächlich ein Problem.
Ansonsten: Wenn eine Bestellung in einer anderen Sprache durchgeführt wurde, wird korrekterweise auch alles in dieser Sprache angezeigt. Das sollte auch unabhängig von der Backendsprache sein.
Ansonsten hat man bei Auftragsbestätigungen, Rechnungen, Lieferscheinen evtl. aus Versehen die falsche Sprache.
Die Bestalldaten kommen aus den Orders Tabellen, dort ist alle in der Bestellsprache gespeichert. Einige Daten werden anhand der Bestellsprach ID aus anderen Tabellen eingelesen.