Jump to content
xt:Commerce Community Forum

Großes Problem mit der xt_orders Tabelle


Fusco

Recommended Posts

Hallo,

ich habe gerade einen verzwickten Fehler gefunden und weiß nicht, was ich tun kann.

Folgendes: mein Shop - Version 4.1. - hat derzeit ein Problem mit einer Tabelle in der Datenbank. Es geht um die xt_orders. Ich hatte bei der Shopinstallation anstatt "xt" etwas anderes gewählt: sa_orders.

Der Shop speichert nun aber ordnungsgemäß Daten in die sa_orders. "Will" aber Daten aus der xt_orders lesen. Z.B. bei "Mein Konto" (wenn bereits Bestellungen getätigt wurden). Oder wenn die Seite shop/checkout/success nach "zahlungspflichtig bestellen" aufgerufen werden soll. Wenn die xt_orders nicht existiert, kommt nur eine weiße Seite. Ich war schon am verzweifeln, habe aber zumindest den Fehler erkannt und die sa_orders kopiert und als xt_orders gespeichert (die xt_orders ist dann natürlich nur der aktuelle Stand vom Kopieren).

Was kann man in diesem Fall tun, damit der Shop die sa_orders korrekter weise ausliest?

Ich kann auch leider nicht sagen, wie der Fehler entstanden ist. Das einzige eingreifende, was ich getan habe, ist, xtPayments zu registrieren. Am Template liegt es nicht, der Fehler lässt sich auch mit dem Originalem reproduzieren.

Link to comment
Share on other sites

  • 6 months later...

Hi, habe das gleiche Problem... Ich vermute, da ist irgendwo das Prefix "xt_" hardcoded. Habe alle Plugins schon deaktiviert, der Fehler passiert trotzdem immer beim Abschicken einer Bestellung:

mysql error: [1146: Table 'xxx.xt_orders' doesn't exist] in EXECUTE("

SELECT

`shop_id`

FROM

xt_orders

WHERE xt_orders.`orders_id` = 4

LIMIT 1;")

Hast du das Problem lösen können?

Link to comment
Share on other sites

Fehler gefunden! Hat sich ale gelohnt, so spät nochmal das Notebook aufzuklappen. Und zwar war wie schon vermutet der Tabellenname hardcoded: In der Datei xtFramework/classes/class.order.php in Zeile 639ff steht die SQL-Anweisung. Sie muss durch folgendes ersetzt werden:

$sql="SELECT `shop_id` FROM " . TABLE_ORDERS . " WHERE " . TABLE_ORDERS . ".`orders_id` = ".$oID." LIMIT 1;";

Dann klappts auch mit anderen Tabellen-Prefixes.

@mzanier: Sollte möglichst im nächsten Release gefixt werden, sonst kann niemand mit alternativen Tabellen-Prefixes jemals Bestellungen generieren :D

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...