Mehrere Versandarten / Mischwarenkorb

Aktuell knobbel ich wie ich mehrere Versandarten so kombiniere, dass bei einem Mischkorb nur noch eine bestimmte Versandart übrig bleibt. Beiträge zum diesem Thema habe ich einige hier im Forum gefunden, leider blieben jedoch auch viele Beiträge bis heute unbeantwortet.

In einem Beitrag fand ich die Bermerkung von Moritz_Naczenski:

Du musst die Regeln so konfigurieren, dass du jeweils eine Versandart hast, die den kompletten Preis abbildet. Anders gehts nicht

Aber wie sieht das genau aus?

Nehem wir an, ich habe Briefversand und Sperrgut. Solange die Produkte einzeln im Warenkorb liegen ist alles schick. Liegen aber beide im Warenkorb, habe ich auch bei beide Versandarten zur Auswahl. Im Beispiel sollte als nur „Sperrgut“ als Versandart angezeigt werden.

Wie sperre ich in diesem Falle also „Briefversand“ aus?

Indem du bei Briefversand eine negativen Filter über die Sperrgut Bedingungen legst und somit den Fall ausschließt.

Irgendwo mal ein Beispiel wäre hilfreich, damit man das Prinzip nachbauen und somit auch für andere Fälle verstehen kann.

Ganz schwieriges Thema und auch sehr individuell. Ich kann dir mal zeigen, wie ich es abgebildet habe.
Bei mir kommt noch eine Problematik hinzu, das ganze muss mit einem Bundle Plugin kompatibel sein und ich steuere die Versandarten über Tags.
Wie stellst du fest welche Versandart für einen Artikel gewählt wird?

Du nutzt einfach Produkt im Warenkorb ist keines von Ausgeschlossene Kategorie in deinem Briefversand.

Aktuelles Setup

Tags:
brief (=Briefsendungen)
paket (=Paketsendungen)
ueberlaenge (=Überlängen Sendungen)
sperrgut (=Speditionssendungen)
de-versand (=Versand nach Deutschland)
at-versand (=Versand nach Österreich)
ch-versand (=Versand in die Schweiz)
eu-versand (=Versand in andere EU Länder)
de-versand:nein (=kein Deutschlandversand)
at-versand:nein (=kein Österreichversand)
ch-versand:nein (=kein Schweizversand)
eu-versand:nein (=kein Europaversand)

Beispiel Rules DE-Versand
Standardversand (Tag brief und paket):

Überlängenversand (Tag ueberlaenge)

Sperrgutversand (Tag sperrgut)

Mit dem Setup wird die „höchste“ Versandart automatisch ausgewählt.
Sprich
Brief oder Paket = Standardversand
Brief oder Paket + Überlänge = Überlängenversand
Brief oder Paket + Überlänge + Sperrgut = Sperrgut

natürlich auch in anderen Kombinationen
Gewichtung: Standardversand < Überlängenversand < Sperrgutversand

1 „Gefällt mir“

Genau so ist es. Habe sogar noch mehr Versandarten, aber wie ich die gegenseitig verriegeln kann, ist mir noch unklar. Bisherige Versuche zeigen mir nur Unsinn an. Danke für deine Beispiele! Muss ich mal rumprobieren.

Für unterschiedliche Länder habe ich das dann über die Länder Tags gemacht.
Oh ich habe oben was vergessen. Ich musste noch Tags einbauen, die den Versand in Länder negieren.
Ich ergänze das oben im Post noch.

Tags:
de-versand:nein (=kein Deutschlandversand)
at-versand:nein (=kein Österreichversand)
ch-versand:nein (=kein Schweizversand)
eu-versand:nein (=kein Europaversand)

Standardversand AT

1 „Gefällt mir“

Hat die Bedingung mit der „Gesamtanzahl aller Produkte“ hier im Beispiel eine tragende Bedeutung? Die Frage ist wirklich ehrlich gemeint.

Nach langen probieren habe ich jetzt folgende Regeln als Grundlage für 4 verschiedene Versandarten erstellt:

Briefversand:

  • Container 1
  • Position mit Tag → alle → sind eine von → Briefversand

Paketversand:

  • Container 1
  • Position mit Tag → alle → sind eine von → Paketversand
    oder
  • Container 2
  • Position mit Tag → alle → sind leer
    oder
  • Container 3
  • Gesamtanzahl aller Produkte → ist größer → 1
  • Position mit Tag → mind. eine → ist eine von → Paketversand
  • Position mit Tag → mind. eine → ist eine von → Briefversand
  • Position mit Tag → mind. eine → ist keine von → Sperrgutversand oder Palettenversand

Sperrgutversand:

  • Container 1
  • Position mit Tag → alle → sind eine von → Sperrgutversand
    oder
  • Container 2
  • Gesamtanzahl aller Produkte → ist größer → 1
  • Position mit Tag → mind. eine → ist eine von → Sperrgutversand
  • Position mit Tag → mind. eine → ist eine von → Briefversand oder Paketversand
  • Position mit Tag → mind. eine → ist keine von → Palettenversand

Palettenversand:

  • Container 1
  • Position mit Tag → alle → sind eine von → Palettenversand
    oder
  • Container 2
  • Gesamtanzahl aller Produkte → ist größer → 1
  • Position mit Tag → mind. eine → ist eine von → Palettenversand
  • Position mit Tag → mind. eine → ist eine von → Briefversand oder Paketversand oder Sperrgutversand

Noch nicht inbegriffen sind ggf. Länder oder Gewichte etc… Aber so habe ich erst einmal eine Grundlage, mit der ich weiter arbeiten kann.

1 „Gefällt mir“

Um ehrlich zu sein weiß ich das garnicht mehr. Ich glaube das hin mit einer alten Shopware 6 version zusammen, die standardmäßig bei leerem Warenkorb versucht hat eine Versandart hinzuzufügen und das auch bei leerem Warenkorb. Das gab dann immer eine unschöne Fehlermeldung für den Kunden.

Ja schaut doch schon gut aus. In meinem Beispiel wurde kein „Position mit Tag → alle → sind eine von →xxx“ verwendet, da unser Bundle Plugin Produkte als Children in den Warenkorb legt und dann aus irgendwelchen Gründen der Filter „Alle“ nicht angewendet werden kann.
Also falls mal jemand damit Probleme hat, kann es an diesem Filter liegen.

1 „Gefällt mir“

Hallo zusammen,
Ich habe jetzt auch ein wenig rum experimentiert. Leider bislang ohne Erfolg.
Ich habe 3 verschiedene Versandarten.
Paket - Abholung - Spedition

Lege ich Artikel mit je einer dieser Versandart in den Warenkorb, hat der Kunde die Auswahl von allen, was jedoch nicht das Ziel ist. Prinzipiell würde der Kunde eine solche Konstellation auch nicht wählen, aber dennoch ist man gerne auf „menschliche Fehler“ vorbereitet.


Hier ein Beispiel Warenkorb mit besagten Artikeln und entsprechend hinterlegten Versandarten via Tags.


Der Paketversand mit Priorität 1000


Die Spedition mit Priorität 1400


Die Abholung mit Priorität 1500

Irgendwo scheint mir ein Denkfehler in meiner Konfiguration zu sein.

Ich habe mir das jetzt aus Zeitgründen nicht genau angesehen, aber ich würde mich nicht auf diese Prioritäten versteifen. Sie diesen nur dazu, wenn es mehrere Versandarten gibt, welche dann als erstes, zweites oder als drittes angezeigt wird. Wenn strikt nur eine Versandart angezeigt werden soll, müssen grundsätzlich die Regeln angepasst werden. Dann spielt die Priorität weniger eine Rolle. Von daher musst du dir zunächst selber die Fragen stellen, was soll passieren, was soll angezeigt werden!

Für mich wäre die Reihenfolge: Paket - Spedition - Abholung

Bedeuet bei Mischwarenkorb:

Liegt im Warenkorb Produkte mit Paket und Spedition, wird alles per Sperdition geliefert.

Liegt im Warenkorb Produkte mit Paket und Abholung, ist alles nur per Abholung möglich.

Liegt im Warenkorb Produkte mit Spedition und Abholung, ist auch nur Abholung möglich.

Ich gehe davon aus, dass du am Ende nur eine Versandart haben möchtest. Also müssen die Regeln so aufgebaut werden, dass sie sich gegenseitig verriegeln. Die Prioritäten werden dann egal.

Nachtrag: Abholung könnte auch als extra Versandart dienen. So das es nur Regeln zwischen Paket und Spedition geben würde. Aber das weiß ich nicht wie du das anbieten willst.

Genau. Es soll nur eine Versandart angezeigt werden, keine Auswahl.
Das Verriegeln einzelner Versandarten habe ich jedoch noch nicht verstanden, bzw. wie ich dies in den Regeln anpasse. Ich dachte, ich kann dies über die Regeln der einzelnen Versandarten über die Container abwickeln.

Nachtrag: Die Abholung ist ausschließlich für Artikel, welche wir zum Mieten anbieten. Entsprechendes Zubehör kann dazu gekauft werden, welche dann aber auch nur abgeholt werden sollen. Kauft ein Kunde das gerne nur Zubehör ohne Mietartikel, dann geht das natürlich in den Versand.