Seite 1 von 1

Löschung von Produkten bewirkt Löschung von bestellten Waren

Verfasst: Mo 3. Jun 2013, 12:34
von Kopernikus
Die Probleme in meinem Shop scheinen kein Ende zu nehmen. :(
Nach wie vor meldet mir google seit Wochen tausende von 404 Fehlern und verbannt 95% meiner Produkte aus dem Register. Bestellungen sind dadurch seit Wochen schon fast zur Rarität geworden. Ein grosses Problem stellen auch diverse Produkte dar, die ich offenbar doppelt geführt habe. Anstatt diese zu verlinken, kopierte ich damals offenbar viele. Weil das Google überhaupt nicht mag, versuchte ich vor einigen Tagen auch dieses Problem zu lösen. Dabei löschte ich die doppelten, oder teilweise mehrfach geführten Produkte und verlinkte nur noch vom Hauptartikel .Das ich damit ein grosses Problem auslöste, stellte ich erst jetzt fest. Soeben kontrollierte ich abgeschlossene Bestellungen und wunderte mich, dass in vielen Bestellungen nur ein Produkt geführt wurde, doch der Endbetrag ein viel höherer war. Ein Abgleich mit den E-Mail Bestätigungen stellte mir die Nackenhaare auf. Offenbar wurde durch die Löschung der doppelten Produkte automatisch auch die History der Bestellungen gelöscht. Jetzt habe ich das Chaos komplett. Ich habe diesen Fehler in meiner alten xtc Version nie feststellen können, da ich auch dort hin und wieder Produkte gelöscht habe. Ich bin deshalb der festen Überzeugung, dass dies ein Bug sein muss und hoffe, dass ihr mir sagen könnt, wie ich die Bestellungen wieder reaktivieren kann.

Gruss Kopernikus

Re: Löschung von Produkten bewirkt Löschung von bestellten W

Verfasst: Mo 3. Jun 2013, 21:25
von Xantiva
Hallo Kopernikus,

kannst Du das im Demoshop nachstellen? Normalerweise werden bei einer Bestellung alle Daten in die orders... Tabellen kopiert, so dass ein Löschen des Produktes egal sein sollte. Bei einer Bearbeitung so einer Bestellung wird es Probleme geben, aber ansonsten sollte das nicht stören ... :?

Re: Löschung von Produkten bewirkt Löschung von bestellten W

Verfasst: Di 4. Jun 2013, 09:03
von yogi
Hallo Kopernikus,

in der admin/includes/classes/orders.php wurde mit Release 2208 ein falscher Join zum selektieren der Produkte hinzugefügt - auf Zeile 244

Code: Alles auswählen

			FROM ' . TABLE_ORDERS_PRODUCTS . ' AS op
			JOIN products AS p ON(p.products_id = op.products_id)
			WHERE orders_id =\'' . xtc_db_input($order_id) . "'";
ändern in

Code: Alles auswählen

			FROM ' . TABLE_ORDERS_PRODUCTS . ' AS op
			LEFT JOIN products AS p ON(p.products_id = op.products_id)
			WHERE orders_id =\'' . xtc_db_input($order_id) . "'";
Der JOIN bewirkt dass die Positionen deren Produkte nicht mehr existieren nicht ausgeliefert werden. Dies wird durch einen LEFT JOIN behoben.

Re: Löschung von Produkten bewirkt Löschung von bestellten W

Verfasst: Di 4. Jun 2013, 09:31
von Kopernikus
Hat perfekt geklappt, herzlichen Dank! :D