Versandkosten im Warenkorb - es werden die teuersten angezeigt

Moin :slight_smile:

Ich bräuchte bitte mal Unterstützung bei folgendem Problem:

ich habe zum 1.9. mehrstufige Versandkosten eingeführt, wobei zwischen Festland, Inseln und EU-Ausland unterschieden und selbstredend unterschiedlich ausgepreist wird.

Die Versandkosten lasse ich im Warenkorb auch dann anzeigen, wenn der Käufer nicht eingeloggt ist -dabei tritt aber das Problem auf, dass die teuerste Versandart als berechnunggrundlage genommen wird und ich jetzt mehrfach Abbrüche hatte, weil den Inlandskunden die hohen Auslandsversandkosten zu teuer waren.

Lässt sich das ändern?

Ich habe jetzt erstmal die Anzeige im Warenkorb deaktiviert , würde diese Lücke aber gern wieder schließen (soweit ich weis, ist das abmahngefährdet?).

Wäre also etwas dringlich!

Danke euch :slight_smile:

wie ist denn die Sortierung der Versandkostenregeln?

1000 Versand Inland (Festland) B2C (4,90)
2000 Versand Inland (Festland) B2B (2,05)
3000 Versand Inland (Inseln) B2C/B2B (15,95)
9999 Versand EU (Festland) B2c/B2B (13,95)

Berechnet bzw. angezeigt wird Versand Inland (Inseln) also die 15,95

[Edit]

Gab’s nicht mal einen “Standardversand”, der für diesen Berechnungsschritt herangezogen wurde?

im Demoshop gibts tatsächlich eine Versandart mit der oxID “oxidstandard”.
Der Zusammenhang war mir nicht bewusst, aber du hast damit absolut Recht:

welche Tabelle wäre das dann? Dann müsste ich das von Hand ändern.

[Edit]

Ich war grad im demoshop … Standardversand gibt es zwar, hat aber mit meinem problem nichts zu tun … bei mir sind ja die Versandkostenregeln, die da Probleme machen.

Meine Vermutung: ich habe dieses “Inselmodul” (https://github.com/d3datadevelopment/inselzuschlag) installiert und nun gibt es zwei Deutschlands mit DE als Kennung (einmal Festland und einmal Inseln).

Und wenn ich das richtig sehe, wird sich entweder die Regel genommen, die keine Länder oder aber DE zugeordnet hat …

[Edit2]

Japp! https://github.com/OXID-eSales/oxideshop_ce/blob/2469bd829fe79a5bb3763ac5f58a81ea1f88cc55/source/application/models/oxbasket.php#L1765

Und da laut Anweisung im Modul sowohl Dutschland Festland als auch Deutschland Inseln als INland deklariert sind, knallt es an der Stelle im Basket :frowning:

Hast du denn eine Versandart mit der id oxidstandard?
Die Versandkostenregeln werden ausgehend von der Versandart berechnet.

welche Tabelle wäre das?

Versandarten im Backend, wenn du mit der Maus über die Versandarten fährst, sieht du in der Leiste unten die Vorschau für die URL des Linkes:

javascript:top.oxid.admin.editThis('oxidstandard');

Gibt es bei mir nicht.

Aber: haltet mich für blöd aber jetzt scheint es zu funktionieren?! Ich weis nicht, was ich geändert habe (eigentlich nichts!) aber jetzt werden mir ganz regulär die 4,90 für den Festlandversand angezeigt.

Meine Vermutung (und wirklich nur Vermutung!): ich hab grad testweise mal die Selektion für Inland geändert (Stammdaten->Einstellungen->Global) … evtl. war die nicht richtig in der DB hinterlegt und die Inseln waren als aHomeCountry gespeichert … ?

[Edit]

Wobei das current in https://github.com/OXID-eSales/oxideshop_ce/blob/2469bd829fe79a5bb3763ac5f58a81ea1f88cc55/source/application/models/oxbasket.php#L1776 tatsächlich kritisch ist oder werden kann … in meinem Fall hängt das Ergebnis im basket schlicht davon ab, wo der Array-Pointer grad steht …