Hallo,
arbeite derzeit am Template der aktuellen Modified Version (modified eCommerce Shopssoftware v1.06 rev 4642 SP2 dated: 2014-08-12) und bin hier auf einen Fehler gestoßen.
Ich habe zum Testen zwei Zahlarten (Überweisung und Nachnahme) installiert.
Wenn ich nun ohne Auswahl eine Zahlungsart weiter klicke, gelange ich auf die Checkout Confirmation Seite.
Hier sollte ich aber eigentlich zurück zur Checkout Payment geworfen werden mit entsprechendem Fehler.
Nun habe ich in der checkout_confirmation.php folgenden Block gefunden:
if(isset($_SESSION['payment']) && $_SESSION['payment'] != 'no_payment') { //web28 - 2012-04-27 - fix for coupon amount == order total if ((is_array($payment_modules->modules) && (sizeof($payment_modules->modules) > 0) && (!is_object($$_SESSION['payment'])) && (!isset ($_SESSION['credit_covers']))) || (is_object($$_SESSION['payment']) && ($$_SESSION['payment']->enabled == false))) { xtc_redirect
(xtc_href_link
(FILENAME_CHECKOUT_PAYMENT
, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED
), 'SSL')); } } Die erste If-Abfarge dieses Blocks scheint mir unlogisch. Bedeutet no_payment nicht, dass keine Zahlungsart ausgewählt wurde? Wenn ja geht PHP ja gar nicht erst in diese Abfrage rein.
Mach ich aus "$_SESSION['payment'] != 'no_payment'" -> "$_SESSION['payment'] == 'no_payment'" geht er rein und wirft mich korrekt zurück. Wähle ich dann eine Zahlungsart aus komme ich korrekt weiter.
Den Kunden ohne zwingende Auswahl einer Zahlungsart bestellen zu lassen halte ich für supoptimal und wird jede Menge Zusatzarbeit produzieren.
viele Grüße
Andi
Linkback: https://www.modified-shop.org/forum/index.php?topic=33723.0