#1099 closed Bug/Fehler (fixed)
2.0.1.0/Trunk: Fehler beim Bestellen eines kostenlosen Artikels
| Reported by: | Ronald Parcinski | Owned by: | somebody |
|---|---|---|---|
| Priority: | hoch | Milestone: | modified-shop-2.0.2.0 |
| Component: | Shop | Version: | 2.0.1.0 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Versuchsanordnung:
Testartikel 43 auf 0.00 EUR stellen und danach in den Warenkorb legen
Die Versandkosten Module lassen wie sie sind (es müssen mehrere Versandmodule aktiv und Zahlarten aktiv sein)
Zur Kasse gehen und bei den Versandkosten Deutsche Post auswählen.
Bei den Zahlungsarten Vorkasse/Banküberweisung auswählen.
Wenn man jetzt weiter zu Schritt 3 anklickt gibt es die Fehlermeldung
"Bitte wählen Sie eine Zahlungsweise für Ihre Bestellung."
Wenn man jetzt wieder Vorkasse/Banküberweisung auswählt funktioniert es.
Ursache ist in der shipping_estimate.php diese Zeile:
$order_total_modules->pre_confirmation_check();
Dadurch wird bei einem Warenkorbwert von 0 EUR
$_SESSION['credit_covers']
auf true gesetzt.
(Versandkosten sind hier noch nicht vorhanden)
Das wiederrum bewirkt in der checkout_confirmation.php den redirect mit Fehlermeldung auf die ckeckout_payment.php
Codezeilen in checkout_confirmation.php
if (isset($_SESSION['credit_covers'])
|| (isset($_SESSION['cot_gv']) && !isset($_SESSION['payment']))
|| (isset($_SESSION['cot_gv']) && isset($_POST['credit_order_total']) && $_SESSION['cot_gv'] > $_POST['credit_order_total'])
)
{
$_SESSION['payment'] = 'no_payment'; // GV Code Start/End ICW added for CREDIT CLASS
}
Durch
$_SESSION['credit_covers'])
wird
$_SESSION['payment']
auf 'no_payment' gesetzt.
Das hat zur Folge das hier der erste Bedingungsblock wahr wird und den Redirect auslöst
Wir haben mehrere Paymentmodule,
${$_SESSION['payment']}
ist kein Objekt, weil nur 'no_payment'
$_SESSION['credit_covers']
ist noch definiert (siehe shipping_estimate.php)
// GV Code line changed
if ((is_array($payment_modules->modules)
&& (sizeof($payment_modules->modules) > 1)
&& (!is_object(${$_SESSION['payment']}))
&& (!isset($_SESSION['credit_covers'])))
||
(is_object(${$_SESSION['payment']})
&& (${$_SESSION['payment']}->enabled == false))
||
(isset($_SESSION['cot_gv'])
&& $_SESSION['cot_gv'] > 0
&& $xtPrice->xtcFormat($order->info['total'], false) > $_SESSION['cot_gv']
&& $_SESSION['payment'] == 'no_payment')
) {
xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(ERROR_NO_PAYMENT_MODULE_SELECTED), 'SSL'));
}
Attachments (0)
Change History (2)
comment:1 by , 9 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
comment:2 by , 9 years ago
| Milestone: | modified-shop-2.0.1.0 → modified-shop-2.0.1.1 |
|---|

In 10504: