Opened 2 years ago
Closed 2 years ago
#2520 closed Bug/Fehler (duplicate)
Editieren der Adresse nach Versandartauswahl im Checkout setzt Versandart nicht zurück
| Reported by: | Owned by: | somebody | |
|---|---|---|---|
| Priority: | normal | Milestone: | modified-shop-2.0.8.0 |
| Component: | Shop | Version: | 2.0.7.2 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Wenn nach der Auswahl einer Versandart im Checkout im nächsten Schritt die Rechnungsadresse editiert wird, die gleichzeitig auch die Versandadresse ist, wird die Versandart nicht zurückgesetzt.
Das ermöglicht zum Beispiel, durch Ändern des Landes von "Deutschland" auf "Fiji" einen Versand in dieses Land, auch wenn der Shop keine gültige Versandart für dieses Land hat. Auch werden die Versankosten nicht neu berechnet, beispielsweise kann ein kostenloser Inlandsversand so auf jedes Land im Ausland angewendet werden.
Ich habe das Problem für mich mit drei Zeilen Code wie folgt gelöst:
shoproot/includes/modules/checkout_address_store.php
Codeblock Zeile 162-169
if (isset($_POST['primary']) && ($_POST['primary'] == 'on')) {
xtc_db_query("UPDATE ".TABLE_CUSTOMERS."
SET customers_default_address_id = '".(int)$new_address_book_id."'
WHERE customers_id = '".(int)$_SESSION['customer_id']."'");
// write customers session
write_customers_session((int)$_SESSION['customer_id']);
}
Dahinter eingefügt:
if (isset($_SESSION['sendto']) && ($_SESSION['sendto'] == $address_book_id)) {
unset ($_SESSION['shipping']);
}
Dadurch wird bei einer Adressänderung, die die gesetzte Versandadresse betrifft, die Versandart zurückgesetzt.

Duplikat von Ticket #2495.