XT-Commerce – Selbstabholen nicht als Default-Versandmethode

Bei XT-Commerce Version 3.0.4 kommt immer die Selbstabholung als Default-Wert bei der Versandmethode – was bei doch einigen Kunden zu dem Problem führt dass sie die ware eigentlich gerne zugesandt haben würde, wir aber auf ihre Abholung warten 🙂

In den verschiedenen Forum findet man eigentlich in erster Linie Klagen darüber dass es so ist, aber wirklich eine Lösung hat Franz nicht gefunden, also haben wir uns das Ganze heute mal ein wenig genauer angeschaut!

Fünf Minuten und das Problem scheint mal gelöst zu sein 🙂

Betroffen sind zwei Dateien:
checkout_shipping.php
includes/classes/shipping.php

In der Datei „checkout_shipping.php“ in Zeile 172 findet man folgendes:

if (!isset ($_SESSION[’shipping‘]) || (isset ($_SESSION[’shipping‘]) && ($_SESSION[’shipping‘] == false) && (xtc_count_shipping_modules() > 1)))

Und in der nächsten Zeile wird dann mit

$_SESSION[’shipping‘] = $shipping_modules->cheapest();

die günstigste Methode zum Verschiffen ermittelt.

Bei uns wird aber die Funktion erst garnicht aufgerufen weil die If-Bedingung nie wirklich zutrifft! So wie ich das verstanden habe wird da geprüft on in „shipping“ was enthalten ist und wenn nichts drinnen ist, shipping aber gefüllt ist und mehr als ein shipping-Modul aktiv ist – erst dann die Funktion cheapest ermittelt – was in meinen Augen Schwachsinn ist weil unmöglich.

Also haben wir die Zeile 172 in „checkout_shipping.php“ wie folgt verändert:

if (!isset ($_SESSION[’shipping‘]) || (isset ($_SESSION[’shipping‘]) && ($_SESSION[’shipping‘] == true) && (xtc_count_shipping_modules() > 1)))

Und ab dem Moment wird auch tatsächlich auf die Funktion „cheapest“ zugegriffen!

Jetzt liefert die natürlich „Selbstabholung“ als günstigste Liefermethode weil sie ja 0 Euro kostet…

Hier kommt dann die Datei „includes/classes/shipping.php“ ins Spiel!
Und zwar in Zeile 119 – hier muss zusäztlich einfach eine If-Bedingung eingefügt werde, die prüft ob die Versandmethode „selfpickup“ lautet und nur wenn nicht die Versandmethode in die Berechnung der günstigsten Variante aufnimmt.

Also einfach in Zeile 119 folgende If-Bedingung einfügen:

if($quotes[‚id‘]!=“selfpickup“){

und in Zeile 123 mit einer „}“ wieder abschliessen.
Und schon erscheint die Selbstabholung nicht mehr an erster Stelle – sondern an letzter Stelle!

Ich hoffe der Beitrag hilft dem einen oder anderen XT-Commerce User und beendet den Ärger mit der nicht gewollten Selbstabholung beendet! 🙂

Manfred

Recent Posts

VM – ZFS Partition online vergrößern

Man macht es nicht jeden Tag, darum schadet es nicht sich's kurz zu notieren... Hier…

1 Jahr ago

Samba Password History für einen User löschen

Meine Suche bei Google hatte mal wieder keinen vernünftigen Treffer gelandet, das Problem - ich…

1 Jahr ago

HP Eine Firma von der ich nicht mal geschenkte Drucker nehmen würde!!!

Ich muss mal eben etwas Druck ablassen, ein Kunde von mir setzt einen Drucker von…

2 Jahren ago

IRMC Console Redirection ohne Lizenz

Wer beim Server bestellen vergessen hat die erweiterte IRMC Lizenz zu ordern, der steht vor…

2 Jahren ago

WOL im BIOS aktivieren reicht nicht immer

Ich nutze seit langer Zeit ein System für meine Backups welches in der Nacht von…

2 Jahren ago

Apache Guacamole mit TOPT – funktioniert nicht

Es scheint wohl eine noch nicht so häufig genutzte Kombination zu sein - Apache Guacamole…

2 Jahren ago