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'
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?
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?
Ohne irgendwelche Bedingungen hast du es wahscheinlich schon einmal getestet, oder ? Damit sichergestellt ist, dass die Versandart überhaupt erst einmal angezeigt wird.
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“.
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.