Opened 8 years ago

Last modified 8 years ago

#1294 new Bug/Fehler

Inkonsistenzen bei Bestellungen mit englischer Sprache — at Version 7

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 Torsten Riemer)

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

Change History (7)

comment:1 by Torsten Riemer, 8 years ago

Description: modified (diff)

comment:2 by Torsten Riemer, 8 years ago

Description: modified (diff)

comment:3 by Ronald Parcinski, 8 years ago

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.

comment:4 by Torsten Riemer, 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 Ronald Parcinski, 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:6 by Torsten Riemer, 8 years ago

Ach stimmt! Okay, dann lassen wir Artikelname mal außen vor.

comment:7 by Torsten Riemer, 8 years ago

Component: AdminShop
Description: modified (diff)
Note: See TracTickets for help on using tickets.