Versandkosten Prioriät setzen

Hallo,
ich habe zwei Versandkosten definiert (DHL Deutschland und Warenpost) und dazu in dem Reiter „Kategorien sperren“ jeweils die ausgewählt, die mit DHL Paket bzw. Warenpost gesperrt/nicht gesperrt sein sollen.
Leider wird die Versandkostenart „Warenpost“ immer priorisiert, Beispiel: ein Kunde legt einen Artikel „DHL Paket“ in den Warenkorb und einen „Warenpost“, werden immer die billigeren Versandkosten für „Warenpost“ gewählt.
Und das geht auch nur dann, wenn die Versandkostenart auf „Ausweich Versandart“ eingestellt ist. Ansonsten heißt es bei entsprechenden Artikeln im Frontend-Warenkorb „Keine Versandart“.
Was mache ich falsch?


Du darfst natürlich nicht kreuzweise sperren, sonst bleibt ja keine Option übrig. Also bestimmte Kategorien nur bei Warenpost sperren, aber bei Paket immer alle erlauben. Dann kann der Kunde aber trotzdem noch Paket auswählen, wenn nur Warenpost-Artikel im Warenkorb liegen.

Für eine ausgefeiltere Logik solltest du mit Bedingungen arbeiten, damit klappt sowas wunderbar. In unserem Shop z.B. gibt es normale Artikel und Artikel verschiedener Gefahrgutklassen. Als Versandart muss also immer nur noch die des Artikels mit der höchsten Gefahrgutklasse im Warenkorb angeboten werden.

Die Vorgehensweise ist eigentlich gut dokumentiert, in Kürze:

  • Einstellungen → Grundeinstellungen → Storefront → Versandkostenmodul: hier trägst du dir unter erweiterte SQL Abfragen die nötigen Bedingungen ein, in unserem Falle z.B. MAX(IF((at.artikel_gefahrgutklasse="1.4S"), 1,0)) as hat_14s (Gefahrgutklasse ist bei uns ein Freitextfeld des Artikels)
  • Danach in Einstellungen → Versandkosten bei jeder Versandart im Tab „Erweiterte Einstellungen“ unter „Eigene Bedingungen“ die entsprechende Logik hinterlegen, für die 1.4S ist das bei uns hat_14s AND !hat_14g
  • Durch richtige Wahl der Bedingungen kann man so erreichen, dass am Ende immer genau eine Versandart übrig bleibt. „Normal“ bekommt also !hat_14s AND !hat_14g und die Versandart „1.4G“ nur noch hat_14g

LG Phil

Vielen Dank, Phil.
Das Problem ist aber, dass ohne „kreuzweises Sperren“ die Versandart Warenpost niemals greift.
Also folgende Konstellation:

Im Storefront-Versandkostenmodul ist bereits etwas eingetragen, keine Ahnung was das heißt:

MAX(a.topseller) as has_topseller, MAX(at.attr3) as has_comment, MAX(b.esdarticle) as has_esd

Hmm. Wenn du es über die Kategorien machen willst, dann musst du vermutlich Warenpost als Standard setzen, und Paket als Ausweich. Dann geht Warenpost vor, und ausgewichen wird nur bei den gesperrten Kategorien.
Vgl. Doku. Ausweichversandarten sind jedoch immer möglich und daher mit Vorsicht zu genießen - siehe Doku.

Bei meinem Vorschlag würdest du es unabhängig von den Kategorien machen - zB einfach neues Freitextfeld „Warenpost möglich“ als Checkbox beim Artikel anlegen, und dann die Logik analog wie schon beschrieben.

Die Erstbefüllung machst du dann einfach (einmalig) über eine Mehrfachänderung.

Ich persönlich fände das sicherer, denn so hast du pro Artikel die Kontrolle - egal welchen Kategorien dieser Artikel zugewiesen ist.

Und mir ist immer noch nicht klar ob es entweder/oder sein soll, oder ob der Kunde bei Warenpost auch die Option „Paket“ auswählen können soll. Letzteres geht bei den Bedingungen auch, dann diese für Paket einfach weglassen.

LG Phil

Vielen Dank, das muss ich mir in Ruhe durchschauen. Mein Gedanke war, grundsätzlich erstmal alles als Paket und ein paar wenige Artikel („Ausweich“) als Warenpost. An „Mischbestellungen“ dachte ich noch nicht.