Rule Builder - Gesamtmenge Artikel, aber nur aus einer Teilmenge aller Artikel

Hallo zusammen,

folgendes Szenario:

Artikel A soll immer versandkostenfrei sein.
Artikel B-E soll in der Menge 1-9 Versandkosten haben, ab Menge 10 versandkostenfrei sein. Es darf kumuliert werden, also 5 mal Artikel B und 5 mal Artikel C wäre auch okay, weil insgesamt 10.

Was nicht okay wäre, wäre 5 mal Artikel B und 5 mal Artikel A -> in dem Fall sollte es weiterhin Versandkosten geben, weil die Menge für Versandkostenfreiheit nur aus den Artikel B-E ermittelt werden soll.

Und da scheitere ich mit dem Rule Builder.

Wenn ich bei den Versandkosten (Standard) Mengenstaffeln eingebe, also 1-9, 10-unendlich greift das *immer* für die Gesamtartikelmenge, unabhängig von einer angegebenen Regel.

Vielversprechend war noch “Positionen mit Anzahl” und dort dann einzel die Positionen B-E auszuwählen und mit Kleiner als 10 anzugeben. Das funktioniert - aber es wird nicht kumuliert. Sprich wenn z.B. Artikel B und C im Warenkorb liegen MUSS einer von beiden mindestens 10 mal im Warenkorb liegen, es reicht z.B. nicht 5 und 5.

Außerdem hatte ich noch Hoffnung in “Anzahl Warenkorb-Güter”, aber leider geht es da um die Anzahl der Produkte (also Anzahl unterschiedlicher Artikelnummern), nicht die Gesamtmenge von Artikel. “größer gleich 10” heißt dort also, es müssen mind. 10 *unterschiedliche* Produkte im Warenkorb liegen.

Ich habe leider keine einzige Einstellung im Rule Builder gefunden. Kann man das echt nicht umsetzen oder finde ich die richtige Einstellung nicht? Mit der eigenen Berechnung in Shopware 5 wäre das möglich gewesen.

Hoffe es kann jemand helfen! :slight_smile:

Viele Grüße
Malte

Ich glaube das kannst du vergessen, selbst deutlich weniger anspruchsvolle Wünsche / Anforderungen scheitern mit dem Builder, da beißen sich schon einige die Zähne aus.

Schon beim lesen deiner Themen Headline brauchts einen akademischen Grad mit Diplom aus dem Bereich Master for Regelhochdrei :wink: Nur dieser hilft dann ggf. zielführend beim Rulebuilder selbst, mit ein wenig Glück.

 

Ich befürchte es mittlerweile auch. Entweder denke ich mittlerweile viel zu kompliziert, oder ich verstehe etwas Grundlegendes nicht. Bei mir greifen die simpelsten Konfigurationen nicht.

Ich habe eine Situation runtergebrochen auf: Speditionsversand (Sperrgut) oder Standardversand. Wobei Sperrgut nur, wenn Menge zwischen 1 und 10 liegt. Es gibt einen einzigen Sperrgutartikel, alle anderen sind normale Artikel und fallen unter Standardversand. Den Alternativfall bei Sperrgut, also > 10 Stück bilde ich noch nicht ab. Also zwei Versandarten Sperrgut und Standard angelegt, aktiviert und meinem Verkaufschannel zugewiesen.

Zudem zwei Regeln erstellt. Einmal „Positonen mit Anzahl“ >= 1 bzw. < 10 für den Speditionsartikel:

und die Regel für den anderen Fall, also alle Positionen außer dem Sperrgutartikel:

Die Regeln habe ich als Verfügbarkeitsregel in der jeweiligen Versandart angegeben:

Für Sperrgut:

Für Standard:

Und die jeweiligen Kosten angegeben.

Was im Warenkorb herauskommt, wenn ich einen Speditionsartikel in den Warenkorb lege, ist Folgendes:

Es wird gesagt, die Versandart Standard sei gesperrt, als Versandkosten werden jedoch die Standardversandkosten berechnet und als einzig auswählbare Versandart wird Sperrgut angezeigt … ?!

 

  • Es hat keinen Unterschied gemacht, ob ich die Preismatrix über dieselbe Regel noch einmal weiter eingeschränkt habe
  • Cache wurde nach den Konfigurationen immer geleert
  • Tabelle „sales_channel_api_context“ hatte ich ebenfalls geleert, weil ich dort je nach verwendetem Browser unterschiedliche Ergebnisse bekam; manchmal war Sperrgut dort im payload hinterlegt, manchmal nicht. Total wirr.
  • Priorität für die Sperrgutregel ist 250 (höchste Priorität aller Regeln), für Standard 240 (zweithöchste Prio)

Ich habe versucht das zu debuggen, aber an jeder Stelle finde ich im Context immer nur die Standard-Versandart als ausgewählte.

Interessanterweise werden die richtigen Rules gefunden. Im CartRuleLoader wird erkannt, dass die „Sperrgut“-Regel greifen sollte und nicht die „Kein Sperrgut“-Regel, soweit also richtig. Die Regel wird auch in den context weitergegeben. Aber final ausgewählt wird immer Standard, und ich finde bisher die Stelle nicht, wo es scheitert.

Was mach ich falsch bei der Konfiguration?

Das ist doch verrückt. Ich hab gerade mal alle Regeln entfernt, dem Verkaufschannel exklusiv “Sperrgut” zugewiesen, Standard nicht mehr. Die Verfügbarkeitsregel von beiden auf “Always valid” gesetzt. Es kommt zwar nicht mehr die Meldung, Standard sei gesperrt, aber das restliche Ergebnis ist gleich: Versandkosten werden nach Standard berechnet, als verfügbare Versandart wird Sperrgut angezeigt. Hier *MUSS* doch jetzt nach Sperrgut berechnet werden, oder nicht? Ich blick nicht mehr durch.

Das ist mitunter zwangsläufig, durch dieses ganze kreuzundquer sowie vertikalundhorizontal Denken müssen, sitzt am Ende der Fehler auch mal vor statt im System.  Was jetzt nicht zu deinem o.g. einen Bezug haben soll. Da steig auch ich jetzt spontan nicht durch.

Schön und auch zu erwarten wäre es, wenn dann nach langem hinundher, eine einmal gefundene praktikable Lösung mit den Versand und Rule Einstellungen auch stabil weiter funktioniert. Scheinbar geringste, aber ebenso notwendige Veränderungen, aber auch ohne ein weiteres Dazutun, lassen das Kartenhaus von einem auf den anderen Moment, oder auch über Nacht, zusammenbrechen. Unglaublich.

PS: oder aber auch über Nacht wieder heilen, selbst erlebt, noch unglaublicher.

ich hätte auch gern mal ein webinar nur zum thema rule builder. vielleicht ist das ding ja doch viel mächtiger als wir denken