Bestimmte Versandart für bestimmte Bundesländer

Hallo!

Kann mir jemand bitte kurz eine Hilfestellung geben, wie ich das einrichte?

Ich will für Deutschland - > Berlin eine bestimmte Versandart anbieten, wenn der Warenpreis >= 100€ beträgt. In diesem Artikel https://www.upware.de/knowledgebase/versandkosten-eigene-bedingungen-versandkosten-berechnung/ steht dazu:

Eigene Bedingung – Versandart für bestimmte Bundesländer

Hier ein Beispiel bei dem eine Versandart nur für bestimmte Bundesländer angeboten wird. Die hier abgefragte stateID finden Sie in der Tabelle s_core_countries_states in der Spalte id.

Bedingung für ein einzelnes Bundesland:

basketStateId = '2'
Bedingung für mehrere Bundesländer:

basketStateId = '3' || basketStateId = '15'

Das habe ich gemacht.

Laut der Tabelle „s_core_countries_states“ hat „Berlin“ die ID 7:

Und in den Länder-Einstellungen scheint meiner Meinung nach auch alles in Ordnung zu sein:

Im Frontend im Benutzerkonto ist Deutschland -> Berlin gewählt, sowohl bei Rechnungs-, als auch primärer Lieferadresse:

Trotzdem erscheint bei der Versandartauswahl die Option „Expressversand …“ nicht, obwohl der Warenwert über 100,- € beträgt.

Ich habe schon X Mal den Cache gelöscht, aus- und eingeloggt, hier und da gesucht … Ich komme nicht drauf, was ich falsch mache.

Vielen Dank! :slight_smile:

Push.

Ich habe noch etwas herum getestet. Leider immernoch ohne nennenswerten Erfolg. Einen kleinen Teilerfolg kann ich jedoch verbuchen, wenn ich “basketStateId = ‘7’” aus der eigenen Bedingung für die Versandoption entferne, erscheint die Auswahl auf der Seite.

Also das heisst, dass hier irgendwas falsch sein muss? Aber was? Laut Anleitung ist es korrekt und ich wüsste jetzt auch nicht, was ich sonst da für Bedingungen eintragen sollte?

Vielen Dank!

Push.

Hat denn niemand eine Idee? Es muss doch einen Grund dafür geben warum das nicht funktioniert? Ich kann doch nicht der einzige sein, der dieses Feature nutzen will?

Push.

Push.

Ohne irgendwelche Bedingungen hast du es wahscheinlich schon einmal getestet, oder ? Damit sichergestellt ist, dass die Versandart überhaupt erst einmal angezeigt wird.

1 „Gefällt mir“

Hallo,

ich habe die Bedingung einmal in einem Test-System geprüft.

Die Bedingung für Berlin an sich hat problemlos funktioniert.

Es muss also etwas anderes mit in die Anzeige hineinspielen. Hast du evtl. Plugins die in den Checkout eingreifen, oder eine ältere Shopware-Version im Einsatz?

Eventuell hast du auch im Reiter Versandkosten keinen Wert eingegeben, welcher gültig ist, oder Länder bzw. Zahlungsarten vergessen zuzuordnen.

Zusätzlich müsstest du übrigends noch deinen gewünschten Warenwert von 100,00€ abfragen, aktuell hast du hier nur ab 100,00€ versandkostenfrei eingegeben, jedoch nicht, dass die Versandart erst ab diesem Wert verfügbar sein soll. Hierzu müsstest du unter Einstellungen > Grundeinstellungen > Versandkosten-Modul den gesamtpreis abfragbar machen indem du dies ergänzt: „, SUM(b.price*b.quantity) as gesamtpreis“ und kannst dann die Bedingung so erweitern „basketStateId = ‚7‘ && gesamtpreis >= 100“.

Viele Grüße aus Schöppingen
Janine Overhaus-Kocan

1 „Gefällt mir“

Hallo Janine!

Vielen Dank für deine Mühe, das Problem zu reproduzieren. Ich habe anlässlich deiner Empfehlungen das Ganze nochmal probiert und leider ohne Erfolg. Die Expressversandart wurde einfach nicht angezeigt. Die anderen Versandarten (Premium, Standard, …) jedoch schon.

Es schien jedoch irgendwas mit der Versandmethode kaputt gewesen zu sein. Denn als ich dann mal den „Premium-Versand“ dupliziert und Schritt für Schritt geändert habe - also nach jeder Änderung gespeichert, Checkout neu geladen und geschaut, ob er es immernoch anzeigt und die Änderungen übernimmt - hat er das bis zum Schluss anstandslos gemacht. Selbst nachdem ich am Ende „basketStateId = ‚7‘“ in die eigenen Bedingungen eingefügt habe.

Die Versandart wird nun korrekt angezeigt, wenn der Warenkorbwert über 100€ liegt und die Lieferadresse in Berlin ist. Die alte Expressversandart hab ich gelöscht.

Was für eine Odyssee. :smiley:

Vielen Dank nochmals!