Active-Media-Production

Individual Web Development

Bug in XT-Commerce Gutschein Modul behoben

Durch einen Kundenauftrag mussten wir feststellen, dass das Gutscheinmodul von XT-Commerce 3.03 und auch 3.04SP21 fehlerbehaftet zu sein scheint. Solange man das Gutschein-Modul von XTC ohne Restriktionen einsetzt, funktioniert es einwandfrei. Allerdings nicht, wenn man den Gutschein an die Produkte bestimmter Kategorien festmachen will.

Um uns viel Arbeit und Zeit zu ersparen, haben wir das Internet durchforstet und dabei mitbekommen, dass es eine Vielzahl von XT-Commerce Nutzern gibt, die genau das gleiche Problem haben. Allerdings gab es auf den diversen Seiten nur Anleitungen, die grundlegende Fehler in diesem Modul beseitigen, aber nicht das Kategorie-Problem.

Eine der interessantesten Anleitungen zu diesem Thema ist hier im TechDivision-Blog zu finden.

Der Fehler tritt auch nur auf, wenn man Produkte mit Attributen in den Warenkorb legt. Diese werden dann in der Bestellübersicht nicht rabattiert. Da wir für diese Problematik keine zufriedenstellende Lösung im Internet finden konnten, haben wir uns selbst an die Fehlersuche gemacht. Nach ca. 2 Tagen der intensiven Suche haben wir dann den Fehler lokalisieren können.

Folgende Zeile:
$pr_c = $this->product_price(xtc_get_prid($order->products[$i]['id']));

muss durch folgende Zeile ersetzt werden:
$pr_c = $this->product_price($order->products[$i]['id']);

Zur Erklärung: Die Funktion xtc_get_prid() ermittelt aus einer Variablen, die Produkt-ID des Hauptartikels (also ohne Attribute). Und genau da liegt das Problem. Die Funktion entfernt die Attribut-IDs aus der Variablen. Wenn man jetzt diesen Funktionsaufruf aus der Zeile entfernt, klappt es einwandfrei.

Die Variable $order->products[$i]['id'] kann z.B. den Wert 230 enthalten, also ein Produkt ohne Attribute. Oder aber auch den Wert 230{31}111{36}126, Produkt mit Attributen. In diesem Wert sind die ID's der Attribute mit enthalten. Und genau da tritt das Problem auf.

Noch ein Tip: Sollte die Berechnung nicht stimmen, einfach mal ausprobieren, in den Einstellungen des Moduls Rabatt-Kupons "ot_cupon" in der Zusammenfassung den Wert "Inklusive MwSt." auf False zu setzen. Bei uns wurde danach der Kupon korrekt berechnet.

Eine überarbeitete Version der Datei ot_coupon.php ist als Download beigefügt. Einfach im Verzeichnis "\includes\modules\order_total" diese Datei durch die neue Datei ersetzen.

ACHTUNG: Unbedingt vorher eine Kopie von der Original-Datei anfertigen. Wir haben das Skript nur unter XTC 3.03 getestet, es müsste aber auch unter Version 3.04 funktionieren. Wir übernehmen keine Garantie für die korrekte Funktion der Skript-Datei und sich evtl. daraus ergebenen Fehlern. Der Einsatz erfolgt auf eigene Gefahr.

AnhangGröße
ot_coupon.zip5.68 KB
Verfasst von Gast am 13 Mai, 2010 - 11:34.

Vielen Dank! Endlich mal ein wirklich funktionierender Bugfix. Damit kann man endlich auch auf gewünschte Kategorien und auch auf einzelne Produkte einschränken - das kann man mit allen anderen angeblichen Bugfixes nicht. Nur wird evtl. Skonto-Rabatt nicht berücksichtigt. Finde ich aber auf jeden Fall viel besser als zuvor die Fixes, wo auf alle Produkte, die man aus weiteren Kategorien mitkaufte dann auch der Rabatt gewährt wurde, sobald ein Produkt aus der zugelassenen Kategorie im Warenkorb lag.

Vielen herzlichen Dank!

Liebe Grüße und einen schönen Vatertag ;-)
Christina

Verfasst von admin am 14 Mai, 2010 - 10:26.

Was für einen Skonto-Rabatt? Die Reihenfolge der Rabatte kann doch in der Zusammenfassung eingestellt werden.
Dann wurde das schon von Hause aus nicht von XTC berücksichtigt. Kann mann aber bestimmt irgendwie beheben. Daszu benötigen wir allerdings die genaue Beschreibung des Rabatt-Ablaufes und wo der festgelegt wird.

-----------------------------------
Admin von Active-Media-Production

Verfasst von Gast am 2 Juni, 2010 - 19:35.

Hallo,

Na endlich! Ich bin schon seid 2 Tagen am recherchieren. Wollte auch schon selbst nach der Suche beginnen, dann habe ich euch gefunden. Ihr habt mir echt viel Zeit ersparrt.

Vielen Dank!

Verfasst von Gast am 23 Juli, 2010 - 16:31.

Ich bin begeistert.

Leider habe ich aber noch Probleme mit "Prozent Nachlässen".
Irgendwie rechnet "Er" falsch.

Bei Einem Warenwert von 999,00 Eur bekomme ich mit 1% Nachlass
einen Wert - 19,98 ?!?

Was wurde falsch gemacht !?

Danke

Gruß Andreas

Verfasst von Gast am 31 August, 2010 - 08:40.

Hallo - ich hab das gleiche Problem - bei Prozent-Nachlässen gibt das Shopsystem immer doppelt so viel Rabatt - also bei 10% rechnet es mit 20% usw.

Grüße,
Stefan

Verfasst von Gast am 31 August, 2010 - 22:57.

Das müssen wir mal testen, bei unserer Installation in einer XTC 3.03 Version funktioniert das Modul einwandfrei.