versuche gerade zu kapieren, wie das mit den Rules und den Versandkosen funktioniert … oder funktionieren könnte.
Ziel ist die Versandkosten nach Hersteller und Gewicht berechnen zu lassen, sprich bei 2 Produkten im Warenkorb von 2 Herstellern, soll das 1. Produkt nach der
Preismatrix für den 1. Hersteller berechnet werden, das 2. Produkt eben nach der Preismatrix für den 2. Hersteller. Macht Shopware 6 aber irgendwie nicht so,
es wird entweder die 1. für beide genommen oder die 2. für beide.
Frage: Kann das überhaupt mit Shopware 6 funktioneren?
Wenn nein, könnte man die jetzige Gewichtsberechnung von Shopware erweitern, wenn ja, wo sollte man ansezten?
Unsere Versandregeln sind wie auf dem Screenshot mit den Demodaten von Shopware und den Herstellern „Freizeit“ und „Kleidung“.
Hast du in der Rule selbst dafür dann auch die Art „Preis“ gewählt. Ich meine bemerkt zu haben, dass alles was als Regel an der Matrix = Preis relevant, auch auf Art „Preis“ stehen muss. Alles oberhalb der Matrix in Verfügbarkeit dann auf Art „Versand“
Aber davon ganz unabhängig: Gewichtsberechnungen funktionieren, bei mir, auch in der mittlerweile V 6.2 immer noch nicht! Nur die 1. Zeile wird ausgelesen.
also das Gewicht wird schon richtig berechnet und dann auch aus einer der Preistabellen entsprechend dem Gewicht berechnet,
das klappt bei mir (Shopware 6.2), das ist nicht das Problem.
Es sollte halt das Gewicht nicht addieren, sondern wie oben erklärt, je Hersteller summieren und dann jeweils aus der richtigen Preistabelle
den Preis nehmen und diese addieren. Das mit dem “Preis” bei der Rule für die Preismatrix hatte ich nicht, aber jetzt ausprobiert und das ändert nichts.
Ist halt die Frage, wie das von Shopware eigentlich gedacht ist in meinem Fall mit den beiden Preismatrizen und den Regeln?
BTW ein bisschen mehr Doku mit mehr Beispielen wären auch nicht schlecht für die User, aber kommt ja vielleicht noch.
Ja die Doku für Versandkostenregeln ist quasi nicht existent. Und intuitiv ist da gar nix. Ich habe auch so viele Baustellen gerade im Bereich der Versandkosten. Da klappt nichts.
Ja die Doku für Versandkostenregeln ist quasi nicht existent. Und intuitiv ist da gar nix. Ich habe auch so viele Baustellen gerade im Bereich der Versandkosten. Da klappt nichts.
Mach einen eigenen Thread auf und beschreibe dein Problem, dann kann man dir vielleicht helfen. Irgendwo mit reinhängen, was thematisch keinen Bezug hat, macht nicht viel Sinn.
@Threadersteller
Das war in SW5 ja schon ein großer Hack, weil man quasi per SQL Textfeld in die Berechnung eingreifen konnte. Das gibt es in SW6 nicht mehr. Das was du abbilden willst wird erstmal nur über eine individuelle Programmierung gehen. Sowas wie zähle die Hersteller und addiere einen Preis pro Hersteller der unterschiedlich ist, kannst du so im Admin nicht realisieren.
als reiner Integer-Wert… ein guter Ansatzpunkt, eigene Lösungen zu implementieren . Nach Anpassungen nicht vergessen Plugin upzudaten und Cache zu löschen…
Ja, danke, das mit dem DeliveryCalculator hatten wir ja oben auch erwähnt, das war mir ja schon soweit klar.
Ich blicke eher mit der Ruleengine noch nicht durch bzwl. mit der function
private function matches(Delivery $delivery, ShippingMethodPriceEntity $shippingMethodPrice, SalesChannelContext $context)...
Die Berechnung basiert schon auf dem Gewicht der Produkte, aber eben nicht vom Gesamtgewicht aller Produkte sondern gruppiert nach Lieferant der Produkte.
Sprich je Lieferant sollte das Gesamtgewicht der Produkte des Lieferanten im Warenkorb errechnet werden, dann mit diesem Gewicht die Versandkosten (jeder Lieferant hat hierfür allerdings wiederum andere Gewichtspreise) für den einzelnen Lieferanten und dann soll die Summer aller dieser Versandkosten berechnet werden.
Evtl. die Ruleengine, was die Versandkostenpreise angeht, ganz umgehen oder anders benutzen?
Ich würde die RuleEngine in diesem Fall wohl komplett umgehen, die function „matches“ ist zu starr was die einzelnen Produkteigenschaften angeht. In der function „calculateShippingCosts“ eine eigene Funktion zu referenzieren und dort mit getPayloadValue(‚XYZ‘) z.B. getPayloadValue(‚categoryIds‘) die entsprechenden Daten abzugreifen und zu modifizieren scheint mir die zielführendste Methode zu sein.
ich habe gerade ein aehnlihces Thema, bei dem ich die starren Versandkostentabellen ignorieren und die Versankosten anhand der Abfrage einer externern REST-API ermitteln will.
Ich versuche derzeit nachzuvollziehen, was ihr geschrieben habt - leider klappt es hier nicht ganz. einen decorator fuer DeliveryCalculator bekomme ich nicht hin, weil DeliveryCalculator ja kein abstraktes Interface ist, sondern direkt die Implementation. Waere super, wenn einer von Euch
Insgesamt bin ich sehr stark verwundert, dass es keine explizit fuer Versandkostenberechnungs-Plugins gedachte API zu geben scheint. Man kann doch ohne live/realtime-API-Abfrage nicht wissen, was jetzt gerade ein z.B. UPS Express-Paket nach sonst irgendwo auf der Welt kostet. Von daher wuere man erwarten, dass es eine klare API gibt, mit der Shopware einem Plugin ermoeglicht, die fuer einen Warenkorb mit Versandadresse ermoeglicht, eine Liste von verfuegbaren Versandmethoden sowie deren konkrete Kosten zu ermitteln. Diese statischen Tabellen reichen doch nie aus.
Selbst die offizielle shipcloud-Anbindung an Shopware betrifft nur das Backend. Aber der Kunde muss dodch die Versandkosten schon lange vorher im Checkout wissen , bevor er Zahlt…
Ich frage mich die ganze Zeit, was ich übersehe, das ist doch ein standard-Problem von jedem, der weltweiten Versand seiner Produkte macht?
Hattest du eine Lösung gefunden? Prinzipiell gibt es ja die shipcloud API Abfrage um die Versandkosten anhand der Lieferadresse und der Paketgröße/ Gewicht live abzufragen. Konntet ihr da eine Abfrage bauen?
Der Code enthaelt hard-coded Versandadressen und sonstige hacks. Bitte nicht als fertige Loesung ansehen, sondern nur als „so habe ich es hinbekommen, mein Problem zu loesen, ohne eine generische Loesung fuer andere Leute zu bauen“. Wenn das jemand aufraeumen/erweitern will, und damit zu einem echten wiederverwendbaren FOSS-projekt machen will: gerne!
Es ist ziemlich haesslich, weil ich keinen sauberen Weg gefunden habe, das ohne viel copy+paste+edit fuer alle Faelle (Drittland/EU/Inland) mit der Steuerberechnung auf die Versandkosten sinnvoll hinzubekommen.
Die Paketabmessungen + Gewicht wird naeherungsweise aus dem Volumen und einem fiktiven Seitenverhaeltnis 3:2:1 sowie einer durchscnittlichen Dichte der Ware von 500g pro liter (kubik-dezimeter) geschaetzt. Weiterhin wird ein 5%iger Sicherheitsaufschlag und ein 0.35% Transportversicherungsaufschlag durch hart kodierte Werte im Code auf den Shipcloud-Preis aufgeschlagen.
Ich bedauere an dieser Stelle nochmals, dass es zwar ein offizielles shipcloud-shopware-plugin gibt, aber es so grundlegende Funktionen nicht unterstuetzt. Ich frage mich welcher international arbeitende shipcloud-kunde denn keine real-time preisanfrage fuer die konkrete Bestellung zum konkreten Ziel braucht.